Macro excel pour utiliser menu déroulant

Résolu/Fermé
tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 - 1 sept. 2010 à 11:15
tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 - 1 sept. 2010 à 14:36
Bonjour,

Je voudrais écrire une macro qui viendrait sélectionner un menu déroulant (existant) dans ma feuille et choisir le choix suivant puis valider.

Je n'ai pas réussi avec l'enregistreur de macro, en effet, rien n'est enregistré quand je sélectionne le menu déroulant.

Merci pour votre aide.

A voir également:

8 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
1 sept. 2010 à 12:02
Bonjour,
ComboBox1.ListIndex = ComboBox1.ListIndex + 1


L'événement Change est automatiquement appellé.
A+
0
tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 244
1 sept. 2010 à 12:33
Merci lermite

j'ai donc la macro suivante:
Sub menuderoulant()
'
' menuderoulant Macro
' Macro enregistrée le 01/09/2010 par u102469
'
' Touche de raccourci du clavier: Ctrl+e

   ComboBox1.Index = ComboBox1.Index + 1

'
End Sub


mais ça ne fonctionne pas

pour info voici le code ma feuil1:
Private Sub ComboBox1_Change()

End Sub


quand je fais Ctrl+e j'ai une erreur d'execution '424' et le déboggeur me surligne en jaune ComboBox1.Index = ComboBox1.Index + 1
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
1 sept. 2010 à 13:02
Pour que ça fonctionne tel quel tu doit mettre ta macro dans le module de la feuille. sinon faut spécifier la feuille
Sheets("Feuil1").Combo...
Et vaudrait mieux mettre une limite pour pas tombé en erreur
Sub TaMacro()
    If ComboBox1.ListIndex < ComboBox1.ListCount - 2 Then
        ComboBox1.ListIndex = ComboBox1.ListIndex + 1
    End If
End Sub
Private Sub ComboBox1_Change()
    Stop 'mettre le code à exécuter
End Sub

0
tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 244
1 sept. 2010 à 13:30
merci lermite222

j'ai donc le code suivant sur ma Feuil1

Private Sub ComboBox1_Change()

End Sub

Sub test()
'
' test Macro
' Macro enregistrée le 01/09/2010 par u102469
'
' Touche de raccourci du clavier: Ctrl+z

        ComboBox1.ListIndex = ComboBox1.ListIndex + 1

End Sub


lorsque je fais ctrl+z le pointeur va bien dans la combobox mais ne seléctionne pas la valeur suivante.

Merci pour ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
1 sept. 2010 à 13:52
Hummm..
Le fait de déplacer la macro le raccourci n'est plus valable, il faut le réinitialiser.
Outils >> Macros >> Macros >> Option et remettre "z"
A+
0
tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 244
1 sept. 2010 à 13:57
super , merci lermite ça fonctionne !!!!

je me rapproche un peu de mon schmilblick !!!
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
1 sept. 2010 à 14:14
Si tu veux pas que ça plante quand arrive au bout, modifie le code comme indiquer sur ce poste
0
tchernosplif Messages postés 600 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 21 juin 2015 244
Modifié par tchernosplif le 1/09/2010 à 15:01
oui, le problème c'est que je dois créer une liste plus grande que nécessaire car je change souvent son contenu (nbre de lignes) et j'ai des "#valeur" dans les dernières lignes, pour l'instant j'utilise "super macro" pour faire tourner une moulinette. le but est de m'affranchir complètement de ce logiciel.

J'ai défini pleins de macros qui s'executent avec des raccourcis claviers ^^

"Super Macro" me sert à définir un nombre de boucles (le chiffre apparait dans une cellule) executer dans l'ordre les différents raccourcis clavier avec des temps de pause entre chaque ainsi que d'ouvrir le bloc note (l'adresse apparait dans une cellule) pour coller le contenu d'une colonne et l'enregistrer..

Il me reste donc à faire une macro qui execute les raccourcis claviers dans l'ordre et aussi à trouver comment ouvrir le bloc note depuis une macro et coller des valeurs dedans puis l'enregistrer. (possible ?)

Je me demande si Excel sait gérer les temps de pause.

Actuellement ma moulinette met 5s par fichier, avec ton astuce précédente, je devrais passer sous la barre des 4s ^^ je test ça ce soir.

Encore merci
0