Test sur nombre de chiffres dans une colonne

Bonjour à tous,

Je suis en train de réaliser une macro dont un des buts est de concaténer le contenu de deux colonnes dans une matrice dont le nombre de lignes est VBn. Pour cela, j'ai utilisé

For i = 1 To VNb

ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[2],RC[3])"

ActiveCell.Offset(1, 0).Select

Next

ce qui permet de concaténer les colonnes 2 et 3 sur l'ensemble de la matrice et le résultat est écrit dans la colonne 1. Jusqu'ici pas de soucis.

Par contre, le résultat de la concaténation doit impérativement comporter deux lettres (ce qui est toujours le cas dans la colonne 2 donc pas de problème) et 4 chiffres. Or : le nombre contenu dans la colonne 3 n'est pas forcément à 4 chiffres ( )

Question : comment puis-je faire un test sur le nombre de chiffres de la colonne 3 afin d'adapter ma formule de concaténation ? Du style :

si le nombre comporte 3 chiffres : ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[2],0,RC[3])"

si le nombre comporte 1 chiffre : ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[2],000,RC[3])"

Ou peut être en utilisant une autre méthode

Merci d’avance pour vos suggestions !

Je joins un extrait de fichier : https://www.excel-pratique.com/~files/doc/Extrait_concatenation.xls

Bonjour,

essaye ce code dans lequel j'ai remplacé VNb par 14 pour correspondre à ton exemple.

Sub test()
'Macro par Dan pour Marion - excel pratique le 07/03/08
For i = 1 To 14
Cells(i, 1) = Cells(i, 2) & Format(Cells(i, 3), "00##")
Next
End Sub

Amicalement

Dan

Merci Dan pour cette macro !

Je vais de ce pas m'instruire sur Format que je découvre grace à toi.

Merci encore à tout le forum et bonne journée à tous.

Rechercher des sujets similaires à "test nombre chiffres colonne"