Compare :
Ce que j'ai écrit :
wh.Range("H2:H" & dlgR).Replace("FT", "TELECOM", xlWhole)
Ce que tu as écrit :
wh.Range("H" & j) = wh.Range("H2:H" & dlgR).Replace("FT", "TELECOM", xlWhole)
La logique de Replace, c'est "j'agis sur la plage H2:HdlgR où je remplace FT par TELECOM". C'est pas une logique d'attribution de valeur comme tu laisses sous-entendre par ta façon d'écrire.
Si je regarde ce code :
1 2 3 4 5 6 7 8 9 10 11 12
| For j = 2 To dlgR
If wh.Range("H" & j) = "FT" Then
wh.Range("H" & j) = "TELECOM"
Else
wh.Range("H" & j) = "ELECTRICITE"
End If
If wh.Range("G" & j) = "FT" Then
wh.Range("G" & j) = "AERIEN TELECOM"
Else
wh.Range("G" & j) = "AERIEN ENERGIE"
End If
Next j |
Je vois qu'en colonne H, tu veux remplacer FT par TELECOM et en colonne G, tu veux remplacer FT par AERIEN TELECOM. Donc, c'est :
1 2
| wh.Range("H2:H" & dlgR).Replace("FT", "TELECOM", xlWhole)
wh.Range("G2:G" & dlgR).Replace("FT", "AERIEN TELECOM", xlWhole) |
Quand ce n'est pas FT, c'est quoi?
En claire je ne sais pas du tout comment l’intégrer dans mon code. pourtant lorsque je fais le code ci dessous avec deux boutons (2 sub et 2 end sub), j'obtiens ce que je veux: mais moi je veux une seule macro avec un bouton.
Il faut créer une macro appelant les deux codes. Ex. :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Sub premiereMacro()
'Cette macro écrit toto en A1
Range("A1").Value = "toto"
End Sub
Sub deuxiemeMacro()
'Cette macro écrit titi en A2
Range("A2").Value = "titi"
End Sub
Sub macroPrincipale()
'cette macro écrit toto en A1 et titi en A2
Call premierMacro
Call deuxiemeMacro
End Sub |
Ensuite, tu créés un bouton qui appelle macroPrincipale.
Partager