combobox sans userform

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 !

Potentis

XLDnaute Occasionnel
Bonjour le forum

j'ai fait quelques recherches et j'ai trouvé ceci pour le cas concerné de ce posteur

Private Sub Worksheet_Activate()
Dim L&, Plage
L = Range('F65536').End(xlUp).Row
Plage = Range(Cells(16, 6), Cells(L, 6))
Me.ComboBox1.List = Plage
Me.ComboBox1.ListIndex = 0
End Sub

mais auparavant j'avais une combobox dans un userform dont voici le code :

Private Sub ComboBox1_Change()
Worksheets(ComboBox1.Value).Select
End Sub



Private Sub UserForm_Initialize()
Dim i%
'on remplit la ComboBox1
With Sheets("BD")
For i = 3 To .Range("A65535").End(xlUp).Row 'Récupère la derniere ligne non vide dans la colonne A
' For i = 3 To 29 'on prend de 3 à 29 uniquement
Me.ComboBox1.AddItem (.Cells(i, 1).Value)
Next i
End With
End Sub

1°) comment pourrais je faire pour adapter le code pour avoir le remplissage de cette combobox ?

pour info la boucle "For i = 3 To .Range("A65535").End(xlUp).Row" me plait bien parce que ma colonne va se remplir au fur et a mesure

2°) j'aurai dû le dire au début mais la combobox se trouve dans l'onglet "FICHE" alors que la colonne "A" qui va se remplir se trouve dans l'onglet BD

Comment dire a la combobox d'aller se remplir depuis l'onglet BD ? car j'ai mis With Sheets("BD") mais ca ne fonctionne pas

Merci d'avance
Potentis
 
Dernière édition:
Re : combobox sans userform

Bonjour Potentis, bonjour le forum,

Si ta ComboBox est un bouton de la barre d'outils Boîte à outils Contrôles et qu'elle se nomme ComboBox1 (sinon tu adaptes le nom), ce code devrait fonctionner :

Code:
Private Sub ComboBox1_Change()
Dim pl As Range
With Sheets("BD")
    Set pl = .Range("A3:A" & .Range("A65536").End(xlUp).Row)
End With
Me.ComboBox1.List = pl.Value
End Sub
 
Re : combobox sans userform

Salut Potentis,

Ca devrait te donner un truc de ce style là :
Code:
Private Sub Worksheet_Activate()
  Dim L&, Plage
  L = [COLOR=green][B]Sheets("BD").[/B][/COLOR]Range("F65536").End(xlUp).Row
  Plage = [COLOR=green][B]Sheets("BD").[/B][/COLOR]Range(Cells(16, 6), Cells(L, 6))
  Me.ComboBox1.List = Plage
  Me.ComboBox1.ListIndex = 0
End Sub

A+
 
Re : combobox sans userform

Robert,

C'est génial
j'me suis ajouté pour tester quelques lignes dans l'onglet BD pour voir si la combobox s'adaptait et c'est OK

comment je peux améliorer pour n'avoir a chaque ouverture de ce fichier un choix vide (qui serait en A2 par exemple de l'onglet BD) ???

j'avais vu gotfocus parmis d'autres mais qu'est ce que c'est ?

derniere question (si je peux abuser)
lorsque je ferais un choix dans cette combobox je ferais afficher des infos en dessous et a droite de la combobox

est que ceci dessous est ok pour faire ca ???

Private Sub ComboBox1_Change()
Worksheets(ComboBox1.Value).Select

End Sub

EDIT
un oubli !
est ce qu'on peut éviter les doublons dans la combobox ???
 
Dernière édition:
- 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
10
Affichages
294
Réponses
8
Affichages
238
Réponses
3
Affichages
199
Réponses
5
Affichages
192
Réponses
9
Affichages
205
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
523
Réponses
4
Affichages
205
Réponses
5
Affichages
245
Retour