Deux ComboBox de recherche dans listview

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

reinruof77

XLDnaute Occasionnel
Bonjour a tous et toutes

Voila Mon souci je souhaiterais dans la suite de mon tableau pouvoir faire une recherche SOIT par N° de Bureau SOIT par nom . J'ai réussi Par nom mais par bureau je bloque.

est ce faisable et si oui Comment cela fait deux jours que je cherche mais la je suis bloquer .

Je vous joint mon fichier .

Merci de votre aide.
 

Pièces jointes

Re : Deux ComboBox de recherche dans listview

Bon, j'ai commencé.
Il y a beaucoup de déclarations d'API qui manquaient. Je les ai mises.
Ce n'est pas terminé, mais voulez vous essayer de continuer ?
Mais posez moi plein de questions, d'abord !

P.S. Je vous dis tout de suite que les ComboBox1&2_Change sont à supprimer: elle sont remplacées par
Private Sub CBL_Change(ByVal Complet As Boolean, ByVal NbrLgn As Long) juste au cas où NbrLgn vous y serait passé à 0 pour que vous puissiez quand même vider la ListView, et surtout:
Private Sub CBL_Résultat(Lignes() As Long) qui vous passe directement la liste des numéro de lignes retenus dans la plage source. Pour accéder à celle ci utilisez CBL.PlgTablo c'est le plus simple. Ou mieux chargez préalablement ses 6 1ères colonnes dans un tableau de Variant, ce sera plus rapide.

Remplir_Combobox() non plus: le module de classe ComboBoxLiés se charge de tout ça, les ComboBox doivent complètement vous échapper des mains !

L'avantage c'est que s'il vous aviez besoin par la suite de pouvoir rechercher aussi par autre chose, il vous suffirait d'ajouter un CBL.Add Me.ComboBox3, "X" sans rien changer d'autre !

Je l'ai re-joint. J'ai avancé de quelques procédures. Qu'est-ce que vous en pensez ?
 

Pièces jointes

Dernière édition:
Re : Deux ComboBox de recherche dans listview

Merci Dranreb Mais maintenant j'ai des message d'erreur quand je veux modifier ou ajouter erreur de compillation pour variable non defini Capture copie.jpg
mais sinon c'est Parfait

Merci beaucoup pour ton aide
 

Pièces jointes

  • Capture copie.jpg
    Capture copie.jpg
    160.2 KB · Affichages: 123
  • Capture copie.jpg
    Capture copie.jpg
    160.2 KB · Affichages: 120
Re : Deux ComboBox de recherche dans listview

Oui, c'est normal, mais c'est mieux ainsi, je vous assure ! Ce message est beaucoup plus clair que celui qui surviendrait au moment de l'exécution s'il essayait d'utiliser la variable mal orthographiée par exemple. Utilisez LCou pour cette partie. Et écrivez la différemment: c'est CBL.PlgTablo.Rows.Count. Copiez sa dernière ligne CBL.PlgTablo.Rows(LCou) et insérez la devant elle même, puis ajoutez 1 à LCou pour utiliser la ligne originale repoussée d'une ligne vers le bas comme nouvelle ligne. Cela n'a que des avantages plutôt que d'insérer une ligne derrière qui ne ferait du coup plus partie de CBL.PlgTablo (ni de la zone d'impression etc.). N'oubliez pas de réexécuter un CBL.Actualiser derrière.
 
Re : Deux ComboBox de recherche dans listview

RE bonsoir Dranreb

"Oui, c'est normal, mais c'est mieux ainsi, je vous assure ! Ce message est beaucoup plus clair que celui qui surviendrait au moment de l'exécution s'il essayait d'utiliser la variable mal orthographiée par exemple. Utilisez LCou pour cette partie. Et écrivez la différemment: c'est CBL.PlgTablo.Rows.Count. Copiez sa dernière ligne CBL.PlgTablo.Rows(LCou) et insérez la devant elle même, puis ajoutez 1 à LCou pour utiliser la ligne originale repoussée d'une ligne vers le bas comme nouvelle ligne. Cela n'a que des avantages plutôt que d'insérer une ligne derrière qui ne ferait du coup plus partie de CBL.PlgTablo (ni de la zone d'impression etc.). N'oubliez pas de réexécuter un CBL.Actualiser derrière."

Cela va te paraître un peu bizarre mais je débute en VBA et je doit t'avouer que la j'ai un peu de mal a comprendre.🙄
Mais je te crois sur parole quand tu me dit que c'est mieux"😀

Mais franchement la ça deviens du chinois pour moi 😱

Merci encore pour ton aide
 
Re : Deux ComboBox de recherche dans listview

Un bouton servant aussi bien à ajouter qu'à modifier pourrait s'écrire comme ça par exemple :
VB:
Private Sub BtnValider_Click()
Dim T(), C As Long
If LCou = 0 Then
   LCou = CBL.PlgTablo.Rows.Count
   With CBL.PlgTablo.Rows(LCou): .Copy: .Insert: End With
   LCou = LCou + 1: End If
ReDim T(1 To 1, 1 To 6)
For C = 1 To 6: T(1, C) = Me("TextBox" & C).Text: Next C
CBL.PlgTablo.Rows(LCou).Resize(, 6).Value = T
CBL.Actualiser
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
565
D
  • Question Question
Réponses
5
Affichages
249
Didierpasdoué
D
Réponses
5
Affichages
309
Réponses
22
Affichages
1 K
Réponses
40
Affichages
2 K
Retour