Menu déroulant avec renvoi

  • Initiateur de la discussion Initiateur de la discussion bomber
  • Date de début Date de début

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 !

B

bomber

Guest
Bonjour à tous

Débutant en VBA, j'arrive en général à trouver des solutions à mes problèmes mais là, je suis vraiment bloqué.
Je souhaiterai faire une liste de choix comprenant les différents mois de l'année et lorsque je clique sur ce mois la feuille descendrait au mois concerné (scroll down).

Ce serait sympa si quelqu'un pourrait me dépanner...

Merci d'avance 🙂 [file name=Menu_deroulant.zip size=5289]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Menu_deroulant.zip[/file]
 

Pièces jointes

Bonsoir bomber, le forum,

Voici un exemple dont tu pourras t'inspirer...

Amicalement
Charly [file name=Bomber.zip size=9177]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Bomber.zip[/file]
 

Pièces jointes

Bonsoir Bomber, bonsoir Charly, bonsoir le forum,

Une approche un peu différente avec ce code :


Private Sub ComboBox1_DropButtonClick() 'au clic sur le triangle de la ComboBox
Dim x As Byte 'déclare la variable x

'la ComboBox1 est configuré ainsi (voir propriétés):
'ComboBox1.ColumnCount=2 (2 colonnes)
'ComboBox1.BoundColumn=2 (la seconde colonne définit la priopriété Value)
'ComboBox1.ColumnWidth=;0 pt (la seconde colonne est masquée)

ComboBox1.Clear 'vide la ComboBox1
x = 0 'définit la variable x

'boucle sur toutes les cellule éditées de la colonne A (à partir de A12)
For Each cel In Range('A12:A' & Range('A65536').End(xlUp).Row)
'condition : si la clellule n'est pas vide
If cel.Value <> '' Then
ComboBox1.AddItem cel.Value 'ajoute la valeur de la cellule
ComboBox1.List(x, 1) = cel.Row 'ajoute le numéro de ligne de la cellule
x = x + 1 'redéfinit la variable x
End If 'fin de la condition
Next cel

End Sub

Private Sub ComboBox1_Change() 'au changement de la ComboBox
If ComboBox1.ListCount = 0 Then Exit Sub 'si la comboBox est vide, sort de la procédure

'active la cellule correspondante
'la propriété BoundColumn renvoie le numéro de ligne
'de la valeur sélectionnée dans la ComboBox1
Cells(ComboBox1.Value, 1).Select 'active la cellule correspondante
End Sub
[file name=Menu_deroulant_V3.zip size=10581]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Menu_deroulant_V3.zip[/file]

Message édité par: Robert, à: 25/10/2005 23:58
 

Pièces jointes

Salut Bombe et à ceux qui liront cette réponse

Moi aussi je débute et j'essaie de résoudre les problèmes soumis dans les forums.
Je te soumets une autre résolution de ton problème.
Est- elle élégante ? pratique ? @voir !
Si les spécialistes désirent faire des commentaires, je suis preneur.
à+ [file name=Tuto.zip size=6599]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Tuto.zip[/file]
 

Pièces jointes

Bonsoir bomber, Robert, Excel_lent, le forum,

Tout cela me donne des idées 😉

Bomber, peut-être pourrais-tu mettre ce bout de code :

Option Explicit

Private Sub ComboBox1_Change()
'
Dim Mois As String
Dim FoundCell As Range
'
Mois = ComboBox.Text
Range('A:A').Find (Mois)
If Not FoundCell Is Nothing Then
FoundCell.Select
Else
MsgBox 'Mois non trouvé dans la feuille !'
End If
End Sub

Pssssttt, merci Robert et Excel-lent (pas si lent que ça !)

Amicalement
Charly
 
Bonjour à tous,

Puisque ce message vous donne des idées je vais vous expliquer ce que je cherche à faire, en fait entre chaque mois se trouvera un tableau qui ne sera pas amené à être modifié, je cherchais à faire une liste déroulante pour atteindre directement le mois concerné. Bien entendu les mois ne vont pas changer, c'est pourquoi je voudrai savoir si c'était possible de rentrer les mois directement dans la macro et non avoir un lien vers le tableau comme j'ai actuellement.
Je ne sais pas si je suis assez clair, j'espère que le fichier joint aidera à comprendre ce que je cherche à faire.

Merci d'avance.

Bomber [file name=menu_deroulant_2.zip size=10428]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/menu_deroulant_2.zip[/file]
 

Pièces jointes

Bonjour bomber, le fil, le forum,

Oui, c'est possible, je te renvoie ton fichier modifié. Cette solution n'est peut-être pas la meilleure mais elle fonctionne.

Amicalement
Charly [file name=BomberV2.zip size=10729]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/BomberV2.zip[/file]
 

Pièces jointes

Bonjour Charly,

Tu vas me trouver ennuyeux, voir insistant mais je profite de tes compétences. Voilà, la feuille sur laquelle tu as fait le changement va être amenée a être copiée (et le menu déroulant par la même occasion...) ça veut dire que je devrai copier le code dans ThisWorkbook autant de fois qu'il y a de feuille en remplacant 'Feuil1' dans la macro par le nom des autres feuilles ?

Cordialement

Bomber :whistle:
 
Bonsoir Bomber, le fil, le forum,

Non bomber, je te rassure (quoique...), si tu n'as créé qu'un seul contrôle dans chaque feuille (Combobox), tu peux entrer le code suivant dans ThisWorkbook :

Private Sub Workbook_Open()
'
For i = 1 To Sheets.Count
On Error Resume Next
With Sheets(i).Combobox1
' l'initialisation de la Combobox
End With
On Error Goto 0
Next i
End Sub

C'est peut-être pas le plus beau des codes, mais il fonctionne !

Amicalement
Charly
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
3
Affichages
870
mathilde.huchin
M
T
Réponses
3
Affichages
1 K
tounudanslescalier
T
J
Réponses
12
Affichages
3 K
G
S
  • Question Question
Réponses
8
Affichages
1 K
Stéphane
S
K
Réponses
5
Affichages
2 K
SERENA
S
F
Réponses
2
Affichages
1 K
F
F
Réponses
1
Affichages
889
Denis
D
E
Réponses
1
Affichages
866
C
Réponses
8
Affichages
2 K
carlos
C
M
Réponses
1
Affichages
2 K
Mathou
M
J
Réponses
7
Affichages
1 K
Jean paul
J
T
Réponses
4
Affichages
2 K
T
Q
Réponses
3
Affichages
1 K
H
Retour