Remplacer 1 car par 1 autre ds une page en supprimant les 0 inutiles

Soyez le premier à donner votre avis sur cette source.

Snippet vu 2 728 fois - Téléchargée 36 fois

Contenu du snippet

Ce code se substitue au code Excel Replace, il remplace ce qu'on vaut par ce qu'on veut

Source / Exemple :


Sub Macro_remplace()
Dim Valeur As Double 'Variable pour le changement "." par ","
Dim i As Integer 'N° de la ligne à séléctionner
Dim g As Integer 'N° de la colonne à séléctionner
Dim Page_ext As String 'Nom du fichier à modifier avec l'éxtention
Dim Page As String 'Nom de la page à modifier

    'Remplacer les points par des virgules
    Workbooks(Page_ext).Worksheets(Page).Activate
    For i = 26 To 110
        For g = 1 To 3
            With Worksheets(Page).Cells(i, g)
                Valeur = remplace(.Value, ".", ",")
            End With
            If g = 1 Then Range("A" & i).Value = Valeur
            If g = 2 Then Range("B" & i).Value = Valeur
            If g = 3 Then Range("C" & i).Value = Valeur
        Next g
    Next i

Private Function remplace(Text, quoi, par)
'fonction : "quoi" est remplacé par "par" dans "text"
Dim a As Integer
Dim avant, après 'ce qui se trouve avant et après "quoi" dans "text"

a = InStr(Text, quoi) 'Renvoi le rang du caractère recherché
If a <> 0 Then
    avant = Mid(Text, 1, a - 1)
    après = Mid(Text, a + Len(quoi))

    If Mid(avant, Len(avant)) > 0 Then après = Mid(après, 1, 2)
    If Len(avant) > 1 Then If Mid(avant, Len(avant) - 1) <> " 0" Then après = Mid(après, 1, 2)
    remplace = avant & par & après 'c'est ici que l'on remplace "quoi" contre "par"

    Else
    remplace = Text 'Si il n'y a pas le carac cherché
    
End If

Do While Mid(remplace, Len(remplace)) = 0 And Len(remplace) > 1 And Len(remplace) = a
    remplace = Mid(remplace, 1, Len(remplace) - 1)
Loop

If Mid(remplace, Len(remplace)) = par Then remplace = Mid(remplace, 1, Len(remplace) - 1)

End Function

A voir également

Ajouter un commentaire Commentaire
Messages postés
185
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
10 janvier 2008

j'ai rien compris au titre il a fallu que j'aille voir la source! Tu peux pas le renommer en n'utilisant pas d'abréviations?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.