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