Macro en fonction d'une liste déroulante
alex49520
Messages postés
124
Statut
Membre
-
Mike-31 Messages postés 19572 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 19572 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
J'ai un petit souci, j'ai créé une macro et je l'ai affecter à un bouton. A l'origine ma macro devait simplement m'envoyer sur le feuille Avril.
Désormais, j'ai créé une liste déroulante, et je souhaiterais que ma macro s'ouvre en fonction du résultat de la cellule déroulante. Si dans la cellule déroulante on clique sur Mai, je souhaiterais que le bouton me renvoi sur la feuille Mai et non Avril.
Quelqu'un a une idée ?
Merci d'avance,
Alex
J'ai un petit souci, j'ai créé une macro et je l'ai affecter à un bouton. A l'origine ma macro devait simplement m'envoyer sur le feuille Avril.
Désormais, j'ai créé une liste déroulante, et je souhaiterais que ma macro s'ouvre en fonction du résultat de la cellule déroulante. Si dans la cellule déroulante on clique sur Mai, je souhaiterais que le bouton me renvoi sur la feuille Mai et non Avril.
Quelqu'un a une idée ?
Merci d'avance,
Alex
A voir également:
- Macro en fonction d'une liste déroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Fonction si et - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste code ascii - Guide
3 réponses
Salut,
A partir d'une liste de validation en C2 par exemple le code est
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets(Range("C2").Value).Select
End Sub
A partir d'un Combobox sur ta feuille si ta combobox renseigne une cellule C2 par exemple le code est
Private Sub ComboBox1_Change()
Sheets(Range("C2").Value).Select
End Sub
ou directement
Private Sub ComboBox1_Change()
Sheets(ComboBox1.Value).Select
End Sub
Dans tous les cas je rajouterais ce code qui d'un clic droit, active la feuille qui est déjà sélectionnée dans ta cellule
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Sheets(Range("C2").Value).Select
End Sub
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
A partir d'une liste de validation en C2 par exemple le code est
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets(Range("C2").Value).Select
End Sub
A partir d'un Combobox sur ta feuille si ta combobox renseigne une cellule C2 par exemple le code est
Private Sub ComboBox1_Change()
Sheets(Range("C2").Value).Select
End Sub
ou directement
Private Sub ComboBox1_Change()
Sheets(ComboBox1.Value).Select
End Sub
Dans tous les cas je rajouterais ce code qui d'un clic droit, active la feuille qui est déjà sélectionnée dans ta cellule
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Sheets(Range("C2").Value).Select
End Sub
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Sub Balance_mensuelle()
'
' Plan_comptable Macro
' Macro enregistrée le 19/05/2009 par ST1
'
'
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets(Range("C2").Value).Select
End Sub
Peux tu me dire pourquoi ça ne fonctionne pas ?
Merci d'avance, c'est assez urgent !!
'
' Plan_comptable Macro
' Macro enregistrée le 19/05/2009 par ST1
'
'
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets(Range("C2").Value).Select
End Sub
Peux tu me dire pourquoi ça ne fonctionne pas ?
Merci d'avance, c'est assez urgent !!
Salut,
Pour ce code marche, il faut que la valeur de la cellule C2 change, si tu mets exemple Feuil1 change le 1 en 2 Feuil2 ou 3 et ça marche (bien sur si tes feuilles sont nommées Feuil1, Feuil2 etc ... si non en C2 tu dois mettre le nom de ta feuille). Il faut changer ton code par exemple ci dessous s'exécute lors d'un clic droit
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Sheets(Range("C2").Value).Select
End Sub
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Pour ce code marche, il faut que la valeur de la cellule C2 change, si tu mets exemple Feuil1 change le 1 en 2 Feuil2 ou 3 et ça marche (bien sur si tes feuilles sont nommées Feuil1, Feuil2 etc ... si non en C2 tu dois mettre le nom de ta feuille). Il faut changer ton code par exemple ci dessous s'exécute lors d'un clic droit
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Sheets(Range("C2").Value).Select
End Sub
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)