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
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.