Macro excel pour utiliser menu déroulant

Résolu
tchernosplif Messages postés 714 Statut Membre -  
tchernosplif Messages postés 714 Statut Membre -
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.

8 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    ComboBox1.ListIndex = ComboBox1.ListIndex + 1


    L'événement Change est automatiquement appellé.
    A+
    0
  2. tchernosplif Messages postés 714 Statut Membre 249
     
    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
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  4. tchernosplif Messages postés 714 Statut Membre 249
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  7. tchernosplif Messages postés 714 Statut Membre 249
     
    super , merci lermite ça fonctionne !!!!

    je me rapproche un peu de mon schmilblick !!!
    0
  8. tchernosplif Messages postés 714 Statut Membre 249
     
    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