Bonjour
J'ai créé une macro avec la méthode "pas à pas" qui permet de sélectionner la colonne contenant le libellé "Origine" et de rechercher dans celle ci le champ nommé "Longueur" et
de remplacer toutes les valeurs de cette ligne la virgule par un point.
Et de faire de même pour la ligne qui contient le libellé "Largeur".
Tout fonctionne très bien, mais certaines fois ces libellés ne sont pas présents dans cette colonne et bien évidemment ma macro bug.
J'ai essayé sur le web avec pour mots clé " Excel macro selon valeur cellule" mais n'ai pas trouvé quelque chose répondant à ma demande.
Ma question est donc comment pouvoir sauter cette transformation si les libellés " Longueur" ou "Largeur" ne sont pas présents dans cette colonne.
J'avoue être novice dans les macros et surtout si elles font appel à des If des End If et Else.
D'avance merci pour votre aide.
Cordialement.
StSym
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub VirgulePoint() Application.Goto Reference:="Origine" ActiveCell.EntireColumn.Select Selection.Find(What:="Longueur", After:=ActiveCell, LookIn:= _ xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _ xlNext, MatchCase:=False, SearchFormat:=False).Activate ActiveCell.EntireRow.Select Selection.NumberFormat = "@" For Each Cell In Selection Cell.Value = Replace(Cell.Value, ",", ".") Next Application.Goto Reference:="Origine" ActiveCell.EntireColumn.Select Selection.Find(What:="Largeur", After:=ActiveCell, LookIn:= _ xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _ xlNext, MatchCase:=False, SearchFormat:=False).Activate ActiveCell.EntireRow.Select Selection.NumberFormat = "@" For Each Cell In Selection Cell.Value = Replace(Cell.Value, ",", ".") Next End sub
Partager