Code : Sélectionner tout - Visualiser dans une fenêtre à part For i = LBound(TblBd,1) To UBound(TblBd,1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part For i = LBound(TblBd,1) To UBound(TblBd,1)
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
Merci,
Erreur de compilation
for sans next.
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
33
34
35
36
37 Private Sub UserForm_Initialize() Set f = Sheets("DTEL") Set d = CreateObject("Scripting.Dictionary") TblBd = f.Range("A2:AN" & f.UsedRange.Rows.Count) ReDim Tb(1 To UBound(TblBd, 1)) For i = 1 To UBound(Tb, 1) Tb(i) = TblBd(i, 39) Next i d("*") = "" For i = 1 To UBound(Tb) For Each c In Tb: d(c) = "": Next c Next i Me.ComboBox1.List = d.keys ' Me.ComboBox1 = ActiveSheet.[A1] End Sub Private Sub ComboBox1_Change() ListBox1.Clear j = 0 For i = LBound(TblBd, 1) To UBound(TblBd, 1) If (InStr(TblBd(i, 39), ComboBox1) > 0 And TblBd(i, 5) Like ComboBox2) _ Or (Me.ComboBox1 = "*" And TblBd(i, 5) Like ComboBox2) Then ListBox1.AddItem ListBox1.List(j, 0) = TblBd(i, 2) ListBox1.List(j, 1) = TblBd(i, 9) ListBox1.List(j, 2) = TblBd(i, 40) ListBox1.List(j, 3) = TblBd(i, 37) j = j + 1 End If End Sub
non mais de l'investissement, toi pour apprendre et comprendre, moi pour le temps, un exemple ce que je t'ai dit sur mon dernier message, ton code se transforme comme çaCe que je demande pour ma recherche est si compliquer que sa ..?même si tu me garantis que tes codes fonctionnent, autant en apprendre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub CommandButton4_Click() If MsgBox("Etes-vous certain de vouloir INSERER ce nouveau contact ?", vbYesNo, "Demande de confirmation") = vbNo Then Exit Sub 'si non on sort Sh = Sheets("DTEL") With Sh Set Dcel = .Range("A" & .Rows.Count).End(xlUp)(2, 1) For i = 1 To 44 Dcel(L, i) = Me.Controls("TB" & i) Next i End With ' Affiche une boîte de message MsgBox ("Nouvelle FICHE inséréE dans DETL") End Sub
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
Je suis tous a faire d'accord.
J'ai une erreur de compilation
variable non définie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sh = Sheets("DTEL")
Bonjour,
j'ai eu du mal à reprendre ton fichier, de plus, ton Usf n'est pas visible entièrement sur mon écran, ce qui ajoute aux difficultés, je reste sur ce que j'avais proposé,
veux-tu essayer cette version ? peut-être encore des retouches à faire vu la présentation sur mon écran
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
à la place de l'autre, ci-dessous, en couleur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7.... For i = LBound(TblBd) To UBound(TblBd) a = Split(TblBd(i, 39), ";") For Each C In a: D(C) = "": Next C Next i Me.ComboBox1.List = D.keys ...
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
Merci
ce qui donne :
quand exécute message erreur : erreur 13 d’exécution, compatibilité de type :/
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 Dim f, TblBd Private Sub UserForm_Initialize() Set f = Sheets("DTEL") Set D = CreateObject("Scripting.Dictionary") a = Split(TblBd(i, 39), ";") D("*") = "" For i = LBound(TblBd) To UBound(TblBd) a = Split(TblBd(i, 39), ";") For Each C In a: D(C) = "": Next C Next i Me.ComboBox1.List = D.keys Me.ComboBox1 = ActiveSheet.[A1] End Sub Private Sub ComboBox1_click() ListBox1.Clear j = 0 For i = LBound(TblBd) To UBound(TblBd) If (InStr(TblBd(i, 39), ComboBox1) > 0 And TblBd(i, 5) Like ComboBox2) _ Or (Me.ComboBox1 = "*" And TblBd(i, 5) Like ComboBox2) Then ListBox1.AddItem ListBox1.List(j, 0) = TblBd(i, 2) ListBox1.List(j, 1) = TblBd(i, 9) ListBox1.List(j, 2) = TblBd(i, 40) ListBox1.List(j, 3) = TblBd(i, 37) j = j + 1 End If Next i End Sub
eh bien, quand je vois ça, je devais être fatiguélaisses-moi quelques minutes, je fais trop de choses à la fois et de plus j'érais sur mon portable (moins pratique que mon PC de bureau actuel)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 .... For i = 1 To UBound(Tb) For Each c In Tb: d(c) = "": Next c Next i ....
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
Normal, je retravaille dessus et l'ai déclaré en Public dans un module (à la place de Ws), et oui même tes variables en rab vont sautées
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
D'accord..
J'ai pas trop comprit ta phrase mais bon.
Bonsoir,
tu as la mémoire courte pour ce que j'ai écris sur le post #42
relis la totalité de ma citation située en bas de tous mes messages, 3eme phrase entre autres
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
Bonjour,
C'est fais monsieur.
et je te remercie de ton aide, sa ma beaucoup aidé!
Je suis nouveau sur ce forum, et je connais pas encore tous
Cordialement.
Dorian
l'erreur est sur quelle ligne ?quand exécute message erreur : erreur 13 d’exécution, compatibilité de type :/
le problème est que je n'ai pas ouvert ton fichier, alors pour le Split, je ne peux pas deviner
j'ai 'impression que tu reprends un code tout fait et que pour l'extraction sans doublon, il va falloir faire autrement, c'est dommage, je n'ai plus de temps devant moi, si ton problème n'est pas résolu, demain, j'essayerai de comprendre et résoudre celui-ci
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
Et je sais pas sa mes l'erreur juste, sa me dit pas la ligne :/
Au final j'aimerais que avoir une combox1 de recherche qui correspondant a la ligne AM, avec des doublons,
et afficher le résultat des colonnes B / I /AN / Ak de toutes les lignes dans ma listbox1 tous simplement.
merci
j'espère que ça ira, mais ça ne supprime pas les lignes vides (normal pour l'instant)
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 Private Sub UserForm_Initialize() Set f = Sheets("DTEL") Set d = CreateObject("Scripting.Dictionary") TblBd = f.Range("A3:AN" & f.UsedRange.Rows.Count) ReDim Tb(1 To UBound(TblBd, 1)) For i = 1 To UBound(Tb, 1) Tb(i) = TblBd(i, 39) Next i For Each c In Tb: d(c) = "": Next c Me.ComboBox1.List = d.keys ' Me.ComboBox1 = ActiveSheet.[A1] End Sub
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
toujours pareil,
erreur de compilation
for sans Next
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
33
34
35Private Sub UserForm_Initialize() Set f = Sheets("DTEL") Set d = CreateObject("Scripting.Dictionary") TblBd = f.Range("A3:AN" & f.UsedRange.Rows.Count) ReDim Tb(1 To UBound(TblBd, 1)) For i = 1 To UBound(Tb, 1) Tb(i) = TblBd(i, 39) Next i For Each c In Tb: d(c) = "": Next c Me.ComboBox1.List = d.keys ' Me.ComboBox1 = ActiveSheet.[A1] End Sub Private Sub ComboBox1_Change() ListBox1.Clear j = 0 For i = LBound(TblBd, 1) To UBound(TblBd, 1) If (InStr(TblBd(i, 39), ComboBox1) > 0 And TblBd(i, 5) Like ComboBox2) _ Or (Me.ComboBox1 = "*" And TblBd(i, 5) Like ComboBox2) Then ListBox1.AddItem ListBox1.List(j, 0) = TblBd(i, 2) ListBox1.List(j, 1) = TblBd(i, 9) ListBox1.List(j, 2) = TblBd(i, 40) ListBox1.List(j, 3) = TblBd(i, 37) j = j + 1 End If End Sub
je fais le ménage dans tes variables pour mieux s'y retrouver, le mieux est de les mettre en "Public" en haut d'un module standard avant les "Sub"
autre exemple car j'en suis là, dans ton "Initialize" de ton "Userform1", je voisà quoi ça sert, tes textbox sont visibles au départ et ces lignes n'ont rien à voir avec "on lance une boucle de valeur mini 1 et maxi 8"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 For i = 1 To 44 'on lance une boucle de valeur mini 1 et maxi 8 Me.Controls("TB" & i).Visible = True 'affiche les données dans les textbox Next i
donc je supprime ces lignes
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
D'accord merci.
Oui je n'est pas supprimer le commentaires.
allez, vite fait, remplaces cette partiepar cette partie
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 Dim f, TblBd Private Sub UserForm_Initialize() Set f = Sheets("DTEL") Set D = CreateObject("Scripting.Dictionary") a = Split(TblBd(i, 39), ";") D("*") = "" For i = LBound(TblBd) To UBound(TblBd) a = Split(TblBd(i, 39), ";") For Each C In a: D(C) = "": Next C Next i Me.ComboBox1.List = D.keys Me.ComboBox1 = ActiveSheet.[A1] End Sub
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 Dim f As Worksheet, TblBd, Tb(), d, i As Long, c Private Sub UserForm_Initialize() Set f = Sheets("DTEL") Set d = CreateObject("Scripting.Dictionary") TblBd = f.Range("A2:AN" & f.Range("A" & f.Rows.Count).End(xlUp).Row) ReDim Tb(1 To UBound(TblBd, 1)) For i = 1 To UBound(Tb, 1) Tb(i) = TblBd(i, 39) Next i d("*") = "" For i = 1 To UBound(Tb) For Each c In Tb: d(c) = "": Next c Next i Me.ComboBox1.List = d.keys ' Me.ComboBox1 = ActiveSheet.[A1] End Sub
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
Partager