Bonjour à tous
Voila mon problème :
Dans une feuille Excel (2010) j'ai 2 champs :
- iddispoparc ou se trouve des doublons
- num_suf qui doit devenir un champ identifiant unique sur ce modèle : "iddispoparc"_1
Comme dans mon champ iddispoparc j'ai des doublons, je veux incrémenter ses valeurs de manière à ce que l'incrémentation reparte de 1 pour chaque nouvelle valeur du champ iddispoparc :
iddispoparc I...................................................................................................... num_suf
5914P042005P00211000001591183460AC0255 I 5914P042005P00211000001591183460AC0255_1
5914P042005P00297000001591319000AA0365 I 5914P042005P00297000001591319000AA0365_1
5914P042005P003850000015915390000A1951 I 5914P042005P003850000015915390000A1951_1
5914P042005P00471000001591183510AA0558 I 5914P042005P00471000001591183510AA0558_2
5914P042005P00471000001591183510AA0558 I 5914P042005P00471000001591183510AA0558_3
5914P042005P00472000001591183510AA0558 I 5914P042005P00472000001591183510AA0558_4
Je suis pas très calé sur excel ni sur le vba mais après quelques recherches j'ai tenté ces solutions :
- nb.si
=A2&SI(NB.SI($A2:A2;A2)>1;"_"&NB.SI($A2:A2;A2)-1;A2&"_1")
touver ici
Sans réussite. ça me retourne la valeur sans l'incrémentation.
- par un code vba en faisant une boucle. Je vous mets le code pour vous montrer mon niveau en vba
Sub boucle_while()
Dim num As Integer
Dim cpt As Double
Dim rst As String
num = 1
cpt = Application.CountIf(Range("AF2:AF65000"), Range("AF2"), Range("AF2"))
While cpt > 1
Cells(num, 1) = num
num = num + 1
rst = Range(AF2) & "_" & num
Range("AH2").Value = rst
Wend
End Sub
Ne fonctionne absolument pas Erreur d'éxecution 1004. je ne comprends pas ce que l'aide me dit
Auriez vous une solution, une piste à me proposer ?
En pièce jointe un extrait de mon fichier.
Merci d'avance à tous ceux qui me liront.
Bonne journée à vous