[VBA Excel] Doublons d'un tableau en cours de construction
Résolu
lml-mike
Messages postés
455
Date d'inscription
Statut
Contributeur
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis en train de me prendre la tête pour un truc de logique vraiment bête...
En gros, j'ai un tableau mesValeurs() dynamique contenant 6 valeurs : A, B, C, D, B, E.
J'aimerais pouvoir faire un tableau comme ça, en évitant les doublons et en mettant un compteur
1 A 1
2 B 2
3 C 1
4 D 1
5 E 1
Cependant, je n'arrive pas à trouver la logique pour checker à chaque fois le tableau dès que je veux rentrer une valeur par rapport aux occurences précédentes. J'ai essayé avec un double POUR comme ceci :
Pour I de 1 à 5
Pour J de 1 à 5
Si mesvaleurs(J) = mesvaleurs(I)
Compteur(J) = Compteur(J) + 1
Sinon
Ecrire tableau mesvaleurs(J) à la suite
Fin Pour
Fin Pour
Cependant le doublon ne marche pas...J'ai raté un truc mais je ne sais pas quoi ...
Je suis en train de me prendre la tête pour un truc de logique vraiment bête...
En gros, j'ai un tableau mesValeurs() dynamique contenant 6 valeurs : A, B, C, D, B, E.
J'aimerais pouvoir faire un tableau comme ça, en évitant les doublons et en mettant un compteur
1 A 1
2 B 2
3 C 1
4 D 1
5 E 1
Cependant, je n'arrive pas à trouver la logique pour checker à chaque fois le tableau dès que je veux rentrer une valeur par rapport aux occurences précédentes. J'ai essayé avec un double POUR comme ceci :
Pour I de 1 à 5
Pour J de 1 à 5
Si mesvaleurs(J) = mesvaleurs(I)
Compteur(J) = Compteur(J) + 1
Sinon
Ecrire tableau mesvaleurs(J) à la suite
Fin Pour
Fin Pour
Dim mescomments(6) As String Dim Indtab As Integer Indtab = 6 col_ID_Bug = 1 col_Commentaire = 4 col_Nb_Device = 7 mescomments(1) = "A" mescomments(2) = "B" mescomments(3) = "C" mescomments(4) = "D" mescomments(5) = "B" mescomments(6) = "E" For No_Bug = 1 To Indtab 'Création du tableau avec nombre de lignes = nombre de bugs ligne_bug = No_Bug + 1 'Obligé de rajouter 1 car le tableau commence à la ligne 2, la ligne 1 étant réservée aux titres For Occurence = 1 To Indtab 'Vérification de l'intégralité des bugs If Sheets("Résultat").Cells(ligne_bug, col_Commentaire) = mescomments(Occurence) Then Sheets("Résultat").Cells(ligne_bug, col_Nb_Device) = Sheets("Résultat").Cells(ligne_bug, col_Nb_Device) + 1 mescomments(Occurence) = "" End If Next Occurence If mescomments(No_Bug) <> "" Then Sheets("Résultat").Cells(ligne_bug, col_ID_Bug) = No_Bug Sheets("Résultat").Cells(ligne_bug, col_Commentaire) = mescomments(No_Bug) Sheets("Résultat").Cells(ligne_bug, col_Nb_Device) = 1 End If Next No_Bug
Cependant le doublon ne marche pas...J'ai raté un truc mais je ne sais pas quoi ...
A voir également:
- [VBA Excel] Doublons d'un tableau en cours de construction
- Trier un tableau excel - Guide
- Tableau word - Guide
- Imprimer un tableau excel - Guide
- Liste déroulante excel - Guide
- Tableau ascii - Guide
2 réponses
Bonjour,
En VBA, qui dit doublon, dit Objet Dictionary. C'est tellement pratique...
Va jeter un oeil sur le site de Jacques BOISGONTIER (site qui devrait déjà être dans tes favoris!), et particulièrement ICI
En VBA, qui dit doublon, dit Objet Dictionary. C'est tellement pratique...
Va jeter un oeil sur le site de Jacques BOISGONTIER (site qui devrait déjà être dans tes favoris!), et particulièrement ICI