Bonsoir Janko et toi le forum,
ah ben plus simple je ne sais pas mais on pourrait envisager la chose suivante...
Bon déjà pour l'initialisation de l'userform on peut laisser le code comme il est, puisqu'il va chercher les valeurs d'une plage pour l'intégrer dans le comboBox nommé cmbBudget...
Private Sub UserForm_Initialize() 'Alimentaion de la cmbBox
Dim x As Byte
For x = 2 To 13
cmbBudget.AddItem Sheets("Ca budgétés").Cells(1, x)
Next x
End Sub
c'est pas ça la question...lol
en fait pour la boucle on pourrait définir la recherche de cette manière...
Private Sub cmbBudget_Change()
Dim Valeur As String, cell As Variant
Valeur = cmbBudget.Value
For Each cell In ActiveSheet.Range("Zone")
If cell.Text = Valeur Then cell.Select
Next cell
Unload Me
End Sub
Le principe est simple...on définit
valeur (ici cmbBudget.Value) ensuite on fait une boucle sur la plage
zone de la feuille active...
(zone étant une plage nommée sur la feuille par : Insertion/Nom/Définir)
Ensuite la première valeur de la ComboBox trouvée dans la plage "zone" selectionne la cellule en question et ferme l'userform...
Voilà ce qui pourrait être plus simple
(entre guillemets)...enfin c'est à peu d'chose prêt la même chose qui se passe avec ta procédure...
Par contre je ne sais pas si j'ai bien intégré ta question du
Cell.Select = cmbBox.ControleSource...car pour moi cette condition sous entends que la cellule sélectionnée doit prendre la valeur du ComboBox
(quelque part...lol)...ce qui n'a plus rien à voir avec une recherche...
Enfin j'sais pas là...lol
Bonne programmation