Bonjour,
J'ai un soucis pour incrémenter l'ID de mes objets correctement. La structure de l'ID est la suivante: "INF00000000000x" , mais il faut que la longueur totale de chaque ID soit identique (15 caractères dans mon cas). Or, avec ce que j'ai écrit ci-dessous, bâ ca mârche pô!
Code très allégé, histoire d'aller à l'essentiel :
Et je me retrouve avec des ID qui n'ont pas la même longueur, car NumIDInfra est bien converti en nombre (ici "1") mais il conserve une longueur de 4 caractères (correspondant à "0001"), donc soustrait trop de caractères dans ma formule. Je dois récupérer les 4 derniers chiffres de la variable IDInfra car je serai aussi amené à incrémenter après un ID déjà existant, pouvant parfois être déjà supérieur à 1000.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim IDInfra as string Dim NumIDInfra as long IDInfra = "INF000000000001" NumIDInfra = Val(Mid(IDInfra, 11)) Worksheets("INFRA").Cells(1, 1) = Left(IDInfra, Len(IDInfra) - (Len(NumIDInfra))) & NumIDInfra NumIDInfra = NumIDInfra + 1
Résultat obtenu :
INF000000002
[...]
INF0000000010
[...]
INF00000000100
[...]
INF000000001000
Résultat souhaité:
INF000000000002
[...]
INF000000000010
[...]
INF000000000100
[...]
INF000000001000
Quelqu’un aurait il une solution pour parer ce problème?![]()
Partager