Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 06/02/2010, 00h41   #1
Membre Confirmé
 
Date d'inscription: juin 2008
Messages: 217
Par défaut selection menu deroulant + macro

Bonjour,
j'ai un menu deroulant qui, en fonction du choix fait, va alimenter le resultat d'une macro par un clic (sur le bouton de la macro, biensur)

je voudrais, puisque cette tache est systematique,
declancher automatiquement, apres le choix du menu déroulant, la macro qui est toujours la même.

je ne peux pas affecter sur un menu déroulant de macro...
mais il doit bien y avoir une manip qui existe tout de même

Merci d'avance !
djoumusic est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/02/2010, 01h08   #2
Membre du Club
 
Date d'inscription: avril 2008
Messages: 102
Par défaut

Hello,

Pas sur d'avoir compris, mais vois le fichier joint.

Si tu veux pas ouvrir le fichier (ce que je peux comprendre), procède comme suit.

Supposons que tu as une liste en A1 avec trois choix "A", "B" ou "C".

Dans le code de la feuille tu mets ceci...
Code :
Private Sub Worksheet_Change(ByVal Target As Range)
 
    'A chaque changement sur la cellule A1
    If Not Application.Intersect(Target, [A1]) Is Nothing Then
        If Target = "A" Then
            MsgBox "A"
        ElseIf Target = "B" Then
            MsgBox "B"
        ElseIf Target = "C" Then
            MsgBox "C"
        Else
            Exit Sub
        End If
    End If
    
End Sub
En espérant t'avoir aidé.

Cdt, Antoniom.
Fichiers attachés
Type de fichier : xls Exemple.xls (30,5 Ko, 2 affichages)
Antoniom est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/02/2010, 10h28   #3
Membre Confirmé
 
Date d'inscription: juin 2008
Messages: 217
Par défaut

Merci, mais je n'y arrive pas... c'est l'idée en tout cas...
voilà mon code
Code :
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Not Application.Intersect(Target, [C16]) Is Nothing Then
            DISPATCHGXP
      
    End If
    
End Sub
 
et je veux dire qu'a chaque changement de la cellule c16, je déclenche la macro DISPATCHGXP
et comme ça ca ne passe pas..???
djoumusic est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/02/2010, 10h47   #4
Membre du Club
 
Date d'inscription: avril 2008
Messages: 102
Par défaut

Hello,

Je ne sais quoi te dire, chez moi ça joue. Je précise que je travaille avec Office 2003.

Bonne fin de journée.

Antoniom.
Fichiers attachés
Type de fichier : xls Test.xls (25,5 Ko, 8 affichages)
Antoniom est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/02/2010, 11h07   #5
Membre Confirmé
 
Date d'inscription: juin 2008
Messages: 217
Par défaut

ton exemple marche,
c'est quand je veux l'adapter...
j'ai pas besoin des
if... pour declencher la msgbox..
je voudrais que systematiquement a chaque changement, par exemple une message box "bonjour" s'affiche...

Doit ton peut etre sepecifier le nom de l'onglet de TARGET , non..?
djoumusic est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/02/2010, 11h29   #6
Expert Confirmé
 
Avatar de Qwazerty
 
Date d'inscription: avril 2002
Localisation: (03) - Allier - Chez les fous ^^
Âge: 29
Messages: 1 558
Envoyer un message via MSN à Qwazerty
Par défaut

Salut
Je n'ai pas excel sous la main mais
Citation:
Envoyé par djoumusic Voir le message
Doit ton peut etre sepecifier le nom de l'onglet de TARGET , non..?
Non, Target représente un objet Range (pas seulement une adresse) il est donc "accroché" a une feuille, si tu regarde dans sa structure tu y trouvera le nom de la feuille a laquelle il est associé.

Par contre il n'en est pas de même pour [C16], je n'en mettrais pas ma main au feu, mais essai de préciser le nom de worksheet.

A++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le méchant Qwaz sur Msn ... inutile de me rajouter sur msn pour que je fasse votre boulot (les concernés sont au courant, les autres relax )
Le monde dans lequel on vit
HammerFest
Score PowerBall Gyroscope Green : 11847
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/02/2010, 12h21   #7
Membre Confirmé
 
Date d'inscription: juin 2008
Messages: 217
Par défaut

OK SUPER CA MARCHE
en fait j'avais pas remarquer qu'il fallait poser ton code sur la feuille vba
j'etais en train de creer un module alors forcement;;;

MILLE MERCI POUR CET INFO !!

a bientot
djoumusic est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/02/2010, 12h26   #8
Membre Confirmé
 
Date d'inscription: juin 2008
Messages: 217
Par défaut

je pousse un peu plus mon raisonnment,

peut on par macro, simuler le clic sur le menu deroulant d'une liste de choix,
et avoir la petite fenetre du menu déroulant qui s'ouvre...?
djoumusic est déconnecté   Envoyer un message privé Réponse avec citation
NEWS EXCELF.A.Q EXCELTUTORIELS EXCELSOURCES EXCELOUTILS EXCELLIVRES EXCELOFFICE 2010

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 08h24.


Vos questions techniques : forum d'entraide Excel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.