Bonjour,
Je voulais savoir :
Comment savoir si dans un tableau, j'ai des doublons ?
Merci de vos indications
Arnaud
Bonjour,
Je voulais savoir :
Comment savoir si dans un tableau, j'ai des doublons ?
Merci de vos indications
Arnaud
Bonjour
Quelle type de tableau ?
Doublon en ligne, en colonne ou les 2 ?
Ne pas oublier le tag
si satisfait.
Voter pour toute réponse satisfaisante avec
pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
Bonjour,
En gros, j'ai un tableau dynamique
Et je veux savoir s'il n'y a pas de doublon. Je ne veux pas le dédoublonner, mais juste savoir si une valeur est en double.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim Montableau Montableau = Array(Element1,Element2,Element3,...,Elementn)
Encore merci.
Un exemple à la volée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Dim Montableau, i,j '(compteurs) Dim Doublon ' Booléen pour test Montableau = Array(Element1,Element2,Element3,Element4,Element5,Element6,Element7) for i=LBound(Montableau) to UBound(Montableau) montableau(i)=i+4 'Remplissage d'un tableau exemple next montableau(5) = 8 ' modification de l'une des valeur du tableau pour avoir un doublon Doublon = False For i=LBound(Montableau) to UBound(Montableau) - 1 For j = i + 1 To UBound(Montableau) If Montableau(i) = Montableau(j) Then Doublon = True Exit For End If if Doublon then msgbox "Position = " & cstr(j) & " " & Doublon Next ' pour j Next ' pour i
Ne pas oublier le tag
si satisfait.
Voter pour toute réponse satisfaisante avec
pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
Merci beaucoup !
J'ai apporté quelques modifications pour l’implémenter dans mon projet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Function Isdouble(Data) Dim Montableau, i,j '(compteurs) Dim Doublon ' Booléen pour test Montableau = Split(Data, ";") Doublon = False For i=LBound(Montableau) to UBound(Montableau) - 1 For j = i + 1 To UBound(Montableau) If Montableau(i) = Montableau(j) Then Doublon = True Exit For End If If Doublon then Isdouble = "1" Else Isdouble = "0" End if Next ' pour j Next ' pour i End Function MsgBox Isdouble("TOTO;TITI;TATA;TUTU;POPO;TOTO;TITI")
J'ai un petit problème : certains tableau à analysé comporte des "-" et j'aimerai qu'ils ne soient pas pris en compte comme doublon.
J'ai fais ceci, mais cela ne fonctionne pas :
J'ai une erreur sur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 Function Isdouble(Data) Dim Montableau, i,j,x,y '(compteurs) Dim Doublon ' Booléen pour test mTab = Split(Data, ";") y=0 For x = 1 To (UBound(mTab)) If mTab(i) <> "-" Then Montableau(y) = mTab(x) y = y+1 Else y = y-1 End If Next Doublon = False For i=LBound(Montableau) to UBound(Montableau) - 1 For j = i + 1 To UBound(Montableau) If Montableau(i) = Montableau(j) Then Doublon = True Exit For End If If Doublon then Isdouble = "1" Else Isdouble = "0" End If Next ' pour j Next ' pour i End Function MsgBox Isdouble("-;-;groupe3\AE-DBI\Shared\0-STAFF;-")
Que faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part For i=LBound(Montableau) to UBound(Montableau) - 1
Partager