Combobox tri
Résolu
tchulio
Messages postés
174
Statut
Membre
-
tchulio Messages postés 174 Statut Membre -
tchulio Messages postés 174 Statut Membre -
Bonjour,
Je me permets de vous soliciter car je suis de nouveau bloqué…
Lorsque vous cliquez sur recherche, il y a UsF_Modification qui se charge,
J’ai 5 Combobox de tri.
Voici le fichier : http://www.cijoint.fr/cjlink.php?file=cj200903/cijT1OKLdw.xls
Lorsque je fait une recherche avec une seule combobox , il n’y a pas de soucis, ça fonctionne, par contre lorsque je veux faire une recherche avec plusieurs combobox, si la valeur n’existe pas ça plante…. Il faut faire l’essai pour comprendre..
Y aurait-il possibilité de me donné un petit coup de main de nouveau…
Encore merci
Je me permets de vous soliciter car je suis de nouveau bloqué…
Lorsque vous cliquez sur recherche, il y a UsF_Modification qui se charge,
J’ai 5 Combobox de tri.
Voici le fichier : http://www.cijoint.fr/cjlink.php?file=cj200903/cijT1OKLdw.xls
Lorsque je fait une recherche avec une seule combobox , il n’y a pas de soucis, ça fonctionne, par contre lorsque je veux faire une recherche avec plusieurs combobox, si la valeur n’existe pas ça plante…. Il faut faire l’essai pour comprendre..
Y aurait-il possibilité de me donné un petit coup de main de nouveau…
Encore merci
A voir également:
- Combobox tri
- Comment faire un tri personnalisé sur excel - Guide
- Logiciel tri photo - Guide
- Wap tri - Télécharger - Divers TV & Vidéo
- Tri turf - Télécharger - Sport
- Votre colis est retenu au centre de tri - Accueil - Arnaque
43 réponses
après contrôle, ta ligne...
LigInt = 1 + Me.ListBox1.ListIndex + 1
n'es pas juste, si tu sélectionne le 4 affiche le 3 !!!!
faut ajouter 2 à la modif
LigInt = ListBox1.list(ListBox1.ListIndex ,0) + 1
LigInt = 1 + Me.ListBox1.ListIndex + 1
n'es pas juste, si tu sélectionne le 4 affiche le 3 !!!!
faut ajouter 2 à la modif
LigInt = ListBox1.list(ListBox1.ListIndex ,0) + 1
Bon écoute, j’ai tout analysé… Tout est nickel… Encore merci a toi pour aide précieuse !!
Bonne fin de journée-
Bonne fin de journée-
J'ai encore fait quelque simplfications dans ton UF Création... pas tester vu qu'il n'y a pas la feuille formulaire.
Je n'ai modifié que 2 sub pour l'exemple.
Tu peu t'en inspirer pour les autres.
https://www.cjoint.com/?eiqArC06gv
A+
Je n'ai modifié que 2 sub pour l'exemple.
Tu peu t'en inspirer pour les autres.
https://www.cjoint.com/?eiqArC06gv
A+
Salut excuse moi de t'ennuyer après tant de temps!
Ta macro fonctionne parfaitement. J'aurais juste une petite question.
Lorsque je clique sur un ligne de la listbox, pas de soucis tout fonctionne, mais lorsque je clique où il n'y a rien sur la listbox, là ça plante.
Il n'y aurait pas possibilité de mettre un code pour que lorsque l'on double clique, ça ne bug pas ?
Encore merci pour tout.
Ta macro fonctionne parfaitement. J'aurais juste une petite question.
Lorsque je clique sur un ligne de la listbox, pas de soucis tout fonctionne, mais lorsque je clique où il n'y a rien sur la listbox, là ça plante.
Il n'y aurait pas possibilité de mettre un code pour que lorsque l'on double clique, ça ne bug pas ?
Encore merci pour tout.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ok pas de souci, le voici:
http://www.cijoint.fr/cjlink.php?file=cj200905/cijTMrYZ6N.xls
Merci a toi!
http://www.cijoint.fr/cjlink.php?file=cj200905/cijTMrYZ6N.xls
Merci a toi!
Re,
Comprend pas, que l'ont clic ou double clic sur la partie vide ça donne les valeurs de la dernière ligne de la listBox ?
Ou alors explique plus en détails.
A+
Comprend pas, que l'ont clic ou double clic sur la partie vide ça donne les valeurs de la dernière ligne de la listBox ?
Ou alors explique plus en détails.
A+
non en fait quand on clique sur la partie vide (blanche) en dessous des données la macro plante .
Je ne sait pas si tu vois ce que je veux dire?
Par exemple mets un filtre, et tu verra que si tu clique a peine plus bas que sur la ligne de donnée ça plante. rien de bien méchant a mon avis.
Sinon juste une autre question, est ce quelqu'un peut me dire si c'est possible que dans une textbox, lorsque j'appuie sur la touche "entrer" de mon clavier; le curseur se mette a la ligne (avec multiline=yes) comme dans word quoi... merci a vous
Je ne sait pas si tu vois ce que je veux dire?
Par exemple mets un filtre, et tu verra que si tu clique a peine plus bas que sur la ligne de donnée ça plante. rien de bien méchant a mon avis.
Sinon juste une autre question, est ce quelqu'un peut me dire si c'est possible que dans une textbox, lorsque j'appuie sur la touche "entrer" de mon clavier; le curseur se mette a la ligne (avec multiline=yes) comme dans word quoi... merci a vous
Explique EXACTEMENT quel UF et les manip que tu fait pour que ça plante parce que je ne parvient pas à le faire planter.
2°)
A+
2°)
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
TextBox1.Text = TextBox1.Text & Chr(13)
End If
End Sub
A+
OK ,
Alors regarde sur le lien ci-joint, tout y est expliqué.
Merci
http://www.cijoint.fr/cjlink.php?file=cj200905/cijIEEV3Dm.bmp
Alors regarde sur le lien ci-joint, tout y est expliqué.
Merci
http://www.cijoint.fr/cjlink.php?file=cj200905/cijIEEV3Dm.bmp
Comment tu dis inverser les 2 lignes, comme cela?
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
LigInt = ListBox1.List(ListBox1.ListIndex, 0) + 1
UsF_Modification.Hide
UsF_Creation.Show
End Sub
Car ça plante aussi comme cela...
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
LigInt = ListBox1.List(ListBox1.ListIndex, 0) + 1
UsF_Modification.Hide
UsF_Creation.Show
End Sub
Car ça plante aussi comme cela...
Pour voir si ça plante, tu cliques sur le bouton initialiser puis là tu essaies sur la zone blanche, là on voit que ça plante... Tu vois ce que je veux dire ?
Merci a+
Merci a+
Ok je pense que j'ai compris, mais quand tu donne des explications il faut tout dire, a savoir..
QUAND IL N'Y A PAS DE SELECTION CA PLANTE...
et au double click, tu change le code.. maintenant tu met Hide et sur le classeur c'est Unload !!!!!
doit être
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
' Masquer le formulaire Modification
LigInt = ListBox1.List(ListBox1.ListIndex, 0) + 1
'UsF_Modification.Hide
Unload Me
UsF_Creation.Show
End Sub
A+
QUAND IL N'Y A PAS DE SELECTION CA PLANTE...
Private Sub ListBox1_Click() 'au clic dans la ListBox
If ListBox1.ListIndex < 0 Then Exit Sub
For Y = 1 To 9
Me.Controls("TextBox" & Y).Value = ListBox1.List(ListBox1.ListIndex, Y - 1)
Next Y
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1.Value)
End Sub
et au double click, tu change le code.. maintenant tu met Hide et sur le classeur c'est Unload !!!!!
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
' Masquer le formulaire Modification
'UsF_Modification.Hide
Unload Me
LigInt = ListBox1.List(ListBox1.ListIndex, 0) + 1
UsF_Creation.Show
End Sub
doit être
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
' Masquer le formulaire Modification
LigInt = ListBox1.List(ListBox1.ListIndex, 0) + 1
'UsF_Modification.Hide
Unload Me
UsF_Creation.Show
End Sub
A+
Salut !
effectivement en mettant ceci : If ListBox1.ListIndex < 0 Then Exit Sub
ça fonctionne parfaitement, désolé de ne pas avoir expliqué comme il le fallait depuis le début...
A mon avis il ne devrait plus y avoir beaucoup de problèmes , si ce n'est celui qui vient de m'arriver ce matin:
En fait dans la listbox, tant que les N° dans la colonne tout à gauche ( comme dans le fichier que sur ci -joint) sont consécutifs, 1 - 2 - 3 -4 , .... lorsque je double clic sur une ligne, pas de soucis, les valeurs se chargent comme il se doit dans le Usf_Création, par contre, j'utilise réelement ce programme depuis ce matin, et mes numéros ne sont pas consécutifs, ça commence à 96 - 99 - 101 - 105 ,... et là, lorsque je double clic sur un ligne, le Usf_Création se chargent mes sans les valeurs....
Il doit y avoir un petit paramètre à changer, mais je n'arrive pas à trouver d'où ça vient.....
Un grand merci si tu arrives à me donner ce dernier coup de main.......
effectivement en mettant ceci : If ListBox1.ListIndex < 0 Then Exit Sub
ça fonctionne parfaitement, désolé de ne pas avoir expliqué comme il le fallait depuis le début...
A mon avis il ne devrait plus y avoir beaucoup de problèmes , si ce n'est celui qui vient de m'arriver ce matin:
En fait dans la listbox, tant que les N° dans la colonne tout à gauche ( comme dans le fichier que sur ci -joint) sont consécutifs, 1 - 2 - 3 -4 , .... lorsque je double clic sur une ligne, pas de soucis, les valeurs se chargent comme il se doit dans le Usf_Création, par contre, j'utilise réelement ce programme depuis ce matin, et mes numéros ne sont pas consécutifs, ça commence à 96 - 99 - 101 - 105 ,... et là, lorsque je double clic sur un ligne, le Usf_Création se chargent mes sans les valeurs....
Il doit y avoir un petit paramètre à changer, mais je n'arrive pas à trouver d'où ça vient.....
Un grand merci si tu arrives à me donner ce dernier coup de main.......
Remplace la sub Activate de l'UF Création par
Et je t'ai pourtant déja expliquer comment remplacer tes 40 lignes par 4 lignes !!
A+
Private Sub UserForm_Activate()
Dim lig As Long
With Sheets("INTERVENTIONS")
For lig = 2 To .Cells(65536, 1).End(xlUp).Row
If .Cells(lig, 1) = LigInt Then Exit For
Next lig
Me.Cb_rnc = .Range("A" & lig)
Me.TB_soc = .Range("B" & lig)
Me.TB_NumBon = .Range("E" & lig)
Me.CB_art = .Range("D" & lig)
Me.TB_TempsInt = .Range("F" & lig)
Me.CB_cre = .Range("C" & lig)
Me.TB_Probleme = .Range("G" & lig)
Me.TB_Cause = .Range("H" & lig)
Me.col_9 = .Range("I" & lig)
Me.col_10 = .Range("J" & lig)
Me.col_12 = .Range("L" & lig)
Me.col_11 = .Range("K" & lig)
Me.col_13 = .Range("M" & lig)
Me.col_14 = .Range("N" & lig)
Me.col_15 = .Range("O" & lig)
Me.col_16 = .Range("P" & lig)
Me.col_17 = .Range("Q" & lig)
Me.col_18 = .Range("R" & lig)
Me.col_19 = .Range("S" & lig)
Me.col_20 = .Range("T" & lig)
Me.col_24 = .Range("X" & lig)
Me.col_25 = .Range("Y" & lig)
Me.col_26 = .Range("Z" & lig)
Me.col_27 = .Range("AA" & lig)
Me.col_28 = .Range("AB" & lig)
Me.col_29 = .Range("AC" & lig)
Me.col_30 = .Range("AD" & lig)
Me.col_31 = .Range("AE" & lig)
Me.col_32 = .Range("AF" & lig)
Me.col_33 = .Range("AG" & lig)
Me.col_34 = .Range("AH" & lig)
Me.col_35 = .Range("AI" & lig)
Me.col_36 = .Range("AJ" & lig)
Me.col_37 = .Range("AK" & lig)
Me.col_38 = .Range("AL" & lig)
Me.col_39 = .Range("AM" & lig)
Me.col_40 = .Range("AN" & lig)
Me.col_41 = .Range("AO" & lig)
Me.col_42 = .Range("AP" & lig)
End With
If col_42 <> "" Then c.Visible = True
End Sub
Et je t'ai pourtant déja expliquer comment remplacer tes 40 lignes par 4 lignes !!
A+
J'ai essayé ton code, mais toujours pareil... Lorsque je dble clic sur une ligne, rien dans l'Usf_Creation....
Bon c'est parfait Mr lermitte222!
Un grand merci pour toute votre aide sans laquelle je n'aurais pu aboutir!
Un grand merci pour toute votre aide sans laquelle je n'aurais pu aboutir!
Salut!
J'écris pour autre chose car la macro fonctionne parfaitement!
C'est juste que lorsque je veux mettre les données de mes textbox dans la feuille "Formulaire" avec le bouton éditer rapport, ça fonctionne bien mais si dans une textbox j'appuie sur "ENTER" pour aller à la ligne et que j'exporte, ben la il y a un carré qui se mets sur ma feuille (là ou j'ai appuyé sur enter...) tu vois ce que je veux dire?
Alors là quand j'imprime ma feuille ça me fait des carrés un peu partout...
Que dois je faire pour éviter celà?
Merci
J'écris pour autre chose car la macro fonctionne parfaitement!
C'est juste que lorsque je veux mettre les données de mes textbox dans la feuille "Formulaire" avec le bouton éditer rapport, ça fonctionne bien mais si dans une textbox j'appuie sur "ENTER" pour aller à la ligne et que j'exporte, ben la il y a un carré qui se mets sur ma feuille (là ou j'ai appuyé sur enter...) tu vois ce que je veux dire?
Alors là quand j'imprime ma feuille ça me fait des carrés un peu partout...
Que dois je faire pour éviter celà?
Merci
Re,
dans ..
Remplacer les Value par text ou par rien.
Comme tu est dans l'UF pas besoin du Me.
A+
Rappel.. remplacer tes 40 lignes par 4
Dans le Tag des textbox mettre sont N°, par ex: dans TB_soc mettre Tag à 1, CB_cre mettre tag à 2
.... col_24 mettre tag à 24 (en mode édition bien sùr)
Si il y a des TextBox autre mettre le tag à 99
pour sauver..
ou bien Autre méthode
dans ..
.Cells(LigInt, 1) = Me.Cb_rnc.Value
.Cells(LigInt, 2) = Me.TB_soc.Value
.Cells(LigInt, 3) = Me.CB_cre.Value
.Cells(LigInt, 4) = Me.CB_art.Value
.....
.....
Remplacer les Value par text ou par rien.
.Cells(LigInt, 2) = TB_soc
.Cells(LigInt, 3) = CB_cre
.Cells(LigInt, 4) = CB_art
.....
.....
Comme tu est dans l'UF pas besoin du Me.
A+
Rappel.. remplacer tes 40 lignes par 4
Dans le Tag des textbox mettre sont N°, par ex: dans TB_soc mettre Tag à 1, CB_cre mettre tag à 2
.... col_24 mettre tag à 24 (en mode édition bien sùr)
Si il y a des TextBox autre mettre le tag à 99
pour sauver..
Dim Cont as control
For Each Cont In Me.Controls
If TypeOf Cont Is MSForms.TextBox Then
N = Cont.tag
if N<99 then
Cells(Lig, N) = Cont.Object.Text
end if
End If
Next Cont
ou bien Autre méthode