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
- Tri turf - Télécharger - Sport
- Wap tri - Télécharger - Divers TV & Vidéo
- Votre colis est retenu au centre de tri - Accueil - Arnaque
43 réponses
J'ai "un tout petit peu" remanier ton code :-)
Plus d'erreur..
https://www.cjoint.com/?eilKIXXVQO
Tu dis...
Edit: faut supprimer la ligne...
Tabtemp = .Range(.Cells(2, 1), .Cells(Derligne, 10))
Tu devras réadapter un peu les contrôles, je n'ai pas un écran suffisament large et j'ai du modifier l'affichage pour tout voir.
Plus d'erreur..
https://www.cjoint.com/?eilKIXXVQO
Tu dis...
Edit: faut supprimer la ligne...
Tabtemp = .Range(.Cells(2, 1), .Cells(Derligne, 10))
Tu devras réadapter un peu les contrôles, je n'ai pas un écran suffisament large et j'ai du modifier l'affichage pour tout voir.
Par exemple si dans la Combobox RNC N° tu choisi "2", et que dans la Combobox délai de réponse tu choisi "16", ça plante.
C'est normal car ça n'existe pas dans la base de donnée, tu vois ce que je veux dire?
L'essentiel serait que je puisse limiter les choix dans les textbox en fonction des filtres précédents...
C'est normal car ça n'existe pas dans la base de donnée, tu vois ce que je veux dire?
L'essentiel serait que je puisse limiter les choix dans les textbox en fonction des filtres précédents...
Je ne pense pas qu'il soit nécessaire que je te fasse la macros, tu semble déjà maitriser pas mal excel.
Pour que les autres combo soit réinitialiser...
Faire une fonction qui les vide et les réinitialise en testant..
Et si tu t'étais inspiré de cet exemple tu pourrais économiser 200 à 300 lignes de code
A+
Pour que les autres combo soit réinitialiser...
Faire une fonction qui les vide et les réinitialise en testant..
If not rows(x).hide then
Mettre la cellule dans le combo
end if
Et si tu t'étais inspiré de cet exemple tu pourrais économiser 200 à 300 lignes de code
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
:) Si seulement j’avais fait cette macro tout seul..Je ne suis hélas pas aussi bon que cela, vous m’aviez déjà bien aidé lors de l’élaboration de celle-ci !
Pour ce qui est de la ligne de code que tu me donne, où dois-je la mettre ?
Dans l’USF ou dans le module ?
Merci à toi
Pour ce qui est de la ligne de code que tu me donne, où dois-je la mettre ?
Dans l’USF ou dans le module ?
Merci à toi
Si seulement j’avais fait cette macro tout seul..Je ne suis hélas pas aussi bon que cela, vous m’aviez déjà bien aidé lors de l’élaboration de celle-ci !
Pour ce qui est de la ligne de code que tu me donne, où dois-je la mettre ?
Dans l’USF ou dans le module ?
Merci à toi
Si seulement j’avais fait cette macro tout seul..Je ne suis hélas pas aussi bon que cela, vous m’aviez déjà bien aidé lors de l’élaboration de celle-ci !
Pour ce qui est de la ligne de code que tu me donne, où dois-je la mettre ?
Dans l’USF ou dans le module ?
Merci à toi
Dans "Mes interventions" je vois que tu a poster un message à 10h19 mais dans le topic je ne le trouve pas, probablement dù au bug de ce matin.
Veux-tu le remettre
A+
Veux-tu le remettre
A+
OK, laisse tomber pour le poste de 10h19, maintenant il est visible.
Vu ta réponse j'ai regarder ton code d'un peu plus près et ma 1ère constatation...
Tu t'évertue à recréer la roue, le filrage ne devrait pas être fait par des routines ni le remplissage des combo, tout est disponnible sur la feuille excel, sur la feuille "Interventions" il y a bien sûr beaucoup de colonnes, serait alors préférable de recopier les colonnes nécessaires sur une autre feuille et d'y mettre les filtres, et de travailler à partir de cette feuille et pas d'un UF qui ne sert à rien.
Et 2èm constatation, si tu sélectionne par N° le mieux serait de mettre les autre combo enabled à false, puisqu'il n'y aurait rien d'autre à filtrer.
3èm constatation, ton code est beaucoup trop "tarabiscoté" pour que je puisse le debuggé valablement, il faudrait tout reprendre à zéro.
En résumé : Je supprimerais l'UF Modification, je créerais une feuille du même nom en laissant quelque lignes disponnible sur le haut de la feuille pour éventuellement y mettre quelque boutons si nécessaire.
A+
Vu ta réponse j'ai regarder ton code d'un peu plus près et ma 1ère constatation...
Tu t'évertue à recréer la roue, le filrage ne devrait pas être fait par des routines ni le remplissage des combo, tout est disponnible sur la feuille excel, sur la feuille "Interventions" il y a bien sûr beaucoup de colonnes, serait alors préférable de recopier les colonnes nécessaires sur une autre feuille et d'y mettre les filtres, et de travailler à partir de cette feuille et pas d'un UF qui ne sert à rien.
Et 2èm constatation, si tu sélectionne par N° le mieux serait de mettre les autre combo enabled à false, puisqu'il n'y aurait rien d'autre à filtrer.
3èm constatation, ton code est beaucoup trop "tarabiscoté" pour que je puisse le debuggé valablement, il faudrait tout reprendre à zéro.
En résumé : Je supprimerais l'UF Modification, je créerais une feuille du même nom en laissant quelque lignes disponnible sur le haut de la feuille pour éventuellement y mettre quelque boutons si nécessaire.
A+
Salut,
En fait Usf_Modification est très utile ! Là on ne le voit pas trop car le fichier n’est pas complet, mais en fait cet Usf permet de récupérer les données de la feuille « BDD » très rapidement via les différents filtres que l’on peut appliquer via les combobox (car tous sont utilisés, et non pas juste celui avec le N° de Rnc), puis lorsque l’on double clique sur une ligne de la listbox, il y a l’Usf_Creation qui s’affiche, là il y a toutes les informations de la feuille BDD qui sont visibles et modifiables si on a le mot de passe…. A savoir que toutes ses données qui se trouvent dans beaucoup de colonnes doivent être insérées dans un rapport qui se trouve sur une feuille nommée « Formulaire » juste en cliquant sur un bouton de l’Usf_Creation.
Je récapitule juste mon problème car je ne sais pas si c’était bien clair…
Lorsque je veux mettre plusieurs filtres avec les combobox dans l’usf modification, je voudrais qu’à chaque nouveau filtre mis, le choix dans les combobox se réduise, afin que la macro ne plante du fait que le choix ne corresponde a rien… faire l’essai..
J’aimerais vraiment pouvoir rester dans cette configuration et que la macro ne plante pas…. Ce serait génial... Merci encore
En fait Usf_Modification est très utile ! Là on ne le voit pas trop car le fichier n’est pas complet, mais en fait cet Usf permet de récupérer les données de la feuille « BDD » très rapidement via les différents filtres que l’on peut appliquer via les combobox (car tous sont utilisés, et non pas juste celui avec le N° de Rnc), puis lorsque l’on double clique sur une ligne de la listbox, il y a l’Usf_Creation qui s’affiche, là il y a toutes les informations de la feuille BDD qui sont visibles et modifiables si on a le mot de passe…. A savoir que toutes ses données qui se trouvent dans beaucoup de colonnes doivent être insérées dans un rapport qui se trouve sur une feuille nommée « Formulaire » juste en cliquant sur un bouton de l’Usf_Creation.
Je récapitule juste mon problème car je ne sais pas si c’était bien clair…
Lorsque je veux mettre plusieurs filtres avec les combobox dans l’usf modification, je voudrais qu’à chaque nouveau filtre mis, le choix dans les combobox se réduise, afin que la macro ne plante du fait que le choix ne corresponde a rien… faire l’essai..
J’aimerais vraiment pouvoir rester dans cette configuration et que la macro ne plante pas…. Ce serait génial... Merci encore
Ok je viens d'essayer, ça plante au démarage me met Variable non définie :
Dans l'USF_Modification:
Sub RemplirListeTout()
Dim lig As Long
Dim col As Integer
Dim FL1 As Worksheet
Set FL1 = Sheets("INTERVENTIONS")
With FL1
Derligne = .Range("C" & Rows.Count).End(xlUp).Row
Tabtemp = .Range(.Cells(2, 1), .Cells(Derligne, 10))
End With
ListBox1.Clear
For lig = 2 To Derligne
With ListBox1
.AddItem
For col = 1 To 10
.List(lig - 2, col - 1) = FL1.Cells(lig, col)
Next col
End With
Next lig
remplirCombo
End Sub
Dans l'USF_Modification:
Sub RemplirListeTout()
Dim lig As Long
Dim col As Integer
Dim FL1 As Worksheet
Set FL1 = Sheets("INTERVENTIONS")
With FL1
Derligne = .Range("C" & Rows.Count).End(xlUp).Row
Tabtemp = .Range(.Cells(2, 1), .Cells(Derligne, 10))
End With
ListBox1.Clear
For lig = 2 To Derligne
With ListBox1
.AddItem
For col = 1 To 10
.List(lig - 2, col - 1) = FL1.Cells(lig, col)
Next col
End With
Next lig
remplirCombo
End Sub
ralalala...
Excuse moi suis au boulot et j'avais juste jeter un oeil.. désolé.
Je regarde tout ça!
Je te remercie pour ton aide!
Excuse moi suis au boulot et j'avais juste jeter un oeil.. désolé.
Je regarde tout ça!
Je te remercie pour ton aide!
C’est parfait tout ça ! ça fonctionne exactement comme je le souhaitait ! Avec beaucoup moins de lignes de codes…. !!
Tu as vraiment fait un excellent boulot !
Par contre juste une question, crois tu qu’il y aurait possibilité de supprimer les doublons dans les combo de tri ? J’ai essayé un code que j’avais pour de simple cbbx mais pas moyen avec ce prog là…
Encore merci !
Tu as vraiment fait un excellent boulot !
Par contre juste une question, crois tu qu’il y aurait possibilité de supprimer les doublons dans les combo de tri ? J’ai essayé un code que j’avais pour de simple cbbx mais pas moyen avec ce prog là…
Encore merci !
J'y avais pensé mais comme tu n'en parlais pas je me suis dit que ça ne t'intéressais pas.
Je revois ça..
Je revois ça..
Remplace cette sub...
Tu dis...
Sub remplirCombo()
Dim CB As Control
Dim Index As Integer, lig As Long, Buff As String
Dim LigCb As Long, B As Boolean
Pas = True
For Each CB In Me.Controls
If TypeOf CB Is MSForms.ComboBox Then
Index = CB.Tag
CB.Clear
For lig = 0 To ListBox1.ListCount - 1
Buff = ListBox1.List(lig, Index)
If CB.ListCount > 0 Then
For LigCb = 0 To CB.ListCount - 1
If CB.List(LigCb) = Buff Then B = True: Exit For
Next LigCb
End If
If Not B Then CB.AddItem Buff
B = False
Next lig
End If
Next CB
Pas = False
End Sub
Tu dis...
…. Respect…. C’est au top…
Je vais en profiter pour poser ma dernière question…
Je ne sais pas si tu à vu, mais lorsque l’on double clique sur la listbox, (et qu’il n’y a pas de filtre de sélectionné) il y a le Usf_Creation qui s’affiche avec toute les données de la ligne.
Ça fonctionne nickel, par contre dès qu’il y a un filtre, ça me prend automatiquement la RNC N°1… faire l’essai pour mieux comprendre. Le problème vient de cette sub :
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
' Masquer le formulaire Modification
'UsF_Modification.Hide
Unload Me
LigInt = 1 + Me.ListBox1.ListIndex + 1
UsF_Creation.Show
End Sub
Je ne savais pas quoi mettre pour que ça prenne la ligne filtrée… Tu comprend mon dernier pb ? Merci encore….
Je vais en profiter pour poser ma dernière question…
Je ne sais pas si tu à vu, mais lorsque l’on double clique sur la listbox, (et qu’il n’y a pas de filtre de sélectionné) il y a le Usf_Creation qui s’affiche avec toute les données de la ligne.
Ça fonctionne nickel, par contre dès qu’il y a un filtre, ça me prend automatiquement la RNC N°1… faire l’essai pour mieux comprendre. Le problème vient de cette sub :
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
' Masquer le formulaire Modification
'UsF_Modification.Hide
Unload Me
LigInt = 1 + Me.ListBox1.ListIndex + 1
UsF_Creation.Show
End Sub
Je ne savais pas quoi mettre pour que ça prenne la ligne filtrée… Tu comprend mon dernier pb ? Merci encore….