Executer une macro a partir d'une liste déroulante

Résolu
cyril7751 - 12 sept. 2012 à 09:10
 cyril7751 - 12 sept. 2012 à 10:56
Bonjour,

voici mon problème, j'aimerais à partir de choix dans une liste déroulante exécuter une macro bien précise, j'ai 3 choix et 3 macro différentes.
J'ai trouvé cette macro sur un site, mais son problème est qu'une fois la première macro lancé elle ne s’arrête plus, du coup je ne peux pas en lancer une deuxième, j'ai ce message d'erreur sinon : Espace pile insuffisant

Quelqu'un aurait une solution simple à m'apporter ?

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("M3").Value = "Cannes" Then Call Macro1
If Range("M3").Value = "Nice" Then Call Macro2
If Range("M3").Value = "Toulon" Then Call macro3
End Sub


Merci d'avance !

Cyril

3 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
12 sept. 2012 à 10:35
Salut,

sans savoir ce qu'il y a dans les macro 1,2,3 difficile de savoir exactement pourquoi cela ne s’arrête pas !

une piste déjà sur le bout code que tu donnes:
L'evenement "Worksheet_Change" est declenché à chaque changement de toute cellule de la feuille donc pour qu'il ne se produise que pour la cellule [M3] il faut faire comme suit.

Private Sub Worksheet_Change(ByVal Target As Range)
if target.address(false,false) = "M3" then
Select case target.Value
case "Cannes"
Call Macro1
case "Nice"
Call Macro2
case "Toulon"
Call macro3
end select
end if
End Sub

A+
3
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
12 sept. 2012 à 10:36
oups !

avec la coloration syntaxique c'est mieux:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(False, False) = "M3" Then
       Select Case Target.Value
          Case "Cannes"
             Call Macro1
          Case "Nice"
             Call Macro2
          Case "Toulon"
             Call macro3
       End Select
    End If
End Sub


A+
3
Salut,

suite à la sélection dans la liste je veux que quand je sélectionne Cannes, la macro me copie les données de Cannes, quand je sélectionne Nice, la macro de Nice me copie les données de Nice ...

Mais le problème est résolue avec ta macro ca fonctionne à merveille !! merci beaucoup
0
Rejoignez-nous