XL 2016 Find avec Combobox et Texbox - RESOLU

Grall

XLDnaute Nouveau
Bonjour à toutes et tous,

Je viens de prendre en compte la modification d'une application sur Excel et j'ai besoin de votre aide.

Pour faire simple, j'ai une ComboBox1 qui permet de sélectionner un personnel avec la mise à jour de diverses Texbox concernant celui-ci. J'ai une deuxième ComboBox2 qui permets une sélection d'une année.

Mon problème et le suivant, je voudrais à partir de la sélection de la Combobox1 (sur une colonne d'un tableau (F)) faire une recherche de ligne, puis prendre la valeur de la Combobox2 (Colonne A) pour rechercher sur la ligne la présence et récupérer le numéro de ligne afin de faire un offset pour remplir d'autres Textbox avec la valeur de la ligne si présence confirmer.

Le personnel se retrouve sur plusieurs années mais seulement une seule fois par an. Pas possible de mettre une ListView sur l'userform car trop de contraintes de place.

Je n'arrive pas à avoir la valeur du rows ? j'ai certainement fait un oubli dans la syntaxe je pense. Pouvez me fournir un exemple que j’adapterais.

Par contre impératif, que la recherche se déclenche seulement une fois que l'année est sélectionnée:
1) Sélection de la Combobox1: Personnel
2)Sélection de la comboBox2: Année => recherche de la ligne => message si absent => si présent, récupération ligne et Offset pour remplir Textbox avec valeurs cellules de la ligne en question (la ligne est obligatoirement unique avec le Personnel+Année dans le tableau)

Merci d'avance.

Private Sub CléCherchée_Change()

Dim Annee As Variant

Annee = Me.AnneeVal.Value

If Me.AnneeVal = "" Then
MsgBox ("Veuillez sélectionner une année?")
Exit Sub
Else

End If

Me.enreg = Me.CléCherchée.ListIndex + 4
Ind = Me.CléCherchée.ListIndex
......
Mon problème est ici pour la récupération du Rows
avant ma reprise un exemple fonctionnel mais avec une feuille par année, hors je dois avoir l'ensemble sur une feuille (Liste Global) :

Me.Selection_Ant.Clear 'Vide de la combobox - Selection_Ant
Me.Selection_Ant.AddItem
Selection_Ant.AddItem Sheets("Liste 2019").Cells(Me.enreg, 13).Value 'n°1
..reprise pour les 8 valeurs et idem pour deux autres ComboBox


.......
Me.txtNom = Me.CléCherchée.Column(2)
Me.txtPrenom = Me.CléCherchée.Column(3)
.........

End Sub
 
Dernière édition:
Solution
Bonjour à toutes et tous,

Je viens de refaire plus simple suite étude des feuilles et des codes VBA.
Création d'un concaténation et recherche en Find plus simple avec création d'une colonne supplémentaire dans chaque feuille ce qui me permets une clé unique pour la recherche.

J'ai procédé aussi avec des ElseIf plus simples et aussi à partir de Range avec les coordonnées de la cellule active ou autres.

Heureusement que j'avais des commentaires ce qui est plus simple.

Merci quand même et bonne fin de weekend.

Wayki

XLDnaute Impliqué
The Big Lebowski Signings GIF
 

Grall

XLDnaute Nouveau
Bonjour à toutes et tous,

Une petite étude pour 2 Find en boucle:

tant que le Personnel existe, a=Find(ComboBox1)
tant que l'Année existe, b=find(ComboBox2)
si a=b alors , on quitte les deux boucles, a est la bonne valeur (récupération du Rows)
 

Grall

XLDnaute Nouveau
Bonjour à toutes et tous,

Je viens de refaire plus simple suite étude des feuilles et des codes VBA.
Création d'un concaténation et recherche en Find plus simple avec création d'une colonne supplémentaire dans chaque feuille ce qui me permets une clé unique pour la recherche.

J'ai procédé aussi avec des ElseIf plus simples et aussi à partir de Range avec les coordonnées de la cellule active ou autres.

Heureusement que j'avais des commentaires ce qui est plus simple.

Merci quand même et bonne fin de weekend.
 

Discussions similaires