Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

lancer automatiquement une macro

ripo

XLDnaute Junior
Bonjour à tous,
Je souhaite:
- lancer la macro1 quand une cellule fixe est égal à 1
- lancer la macro2 quand la même cellule est égal à 2
et ce, automatiquement, sans bouton

Merci de votre aide si précieuse
A+
 

Jacques87

XLDnaute Accro
Bonsoir

Un petit test en VBA conviendra en supposant que la cellule considérée est la cellule A1

If Range('A1').Value = '1' Then
Call macro1
Else :
If Range('A1').Value = '2' Then
Call Macro2
End If
End If
 

ripo

XLDnaute Junior
Jacques87
merci de ta réponse,
J'ai copié le code dans un module, mais 'A1' dans le code provoque une 'erreur de compilation, instruction incorrecte à l'intérieur d'une procédure'

merci de m'indiquer mon erreur
... je dois m'absenter, bonne nuit!
à demain...
 

Jacques87

XLDnaute Accro
Bonsoir

Voici un petit exemple
Si la cellule A1 contient 1 une cellule se colorie en rouge, si elle contient 2 la même cellule se colorie en Bleu
Pour actionner le test il faut après avoir validé la cellule A1, cliquer sur le bouton

A demain [file name=macro_20060122212311.zip size=9710]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/macro_20060122212311.zip[/file]
 

lio

XLDnaute Occasionnel
Bonjour Ripo, patbart,Jacques87, le forum,

Ci joint un exemple complémentaire à celui de Jacques sans bouton de commande.

Salutations. Lio. [file name=Ripo.zip size=9487]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Ripo.zip[/file]
 

Pièces jointes

  • Ripo.zip
    9.3 KB · Affichages: 28
  • Ripo.zip
    9.3 KB · Affichages: 28
  • Ripo.zip
    9.3 KB · Affichages: 31

Dan

XLDnaute Barbatruc
Bonsoir Ripo, le forum,

Vas dans VBA par ALT + F11, puis CTRL + R pour accéder à VBA project.
Ensuite double clique sur la feuille concernée par ta demande et place le code ci-dessous :
Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Range('A1').Value = 1 Then
Call macro1
ElseIf Range('A1').Value = 2 Then
Call Macro2
End If
End Sub

Chaque changement de valeur en A1 fera exécuter la macro1 ou macro2.
Remplace donc MAcro1 et macro2 par le noms de tes macros se rapportant aux valeurs 1 et 2.

A bientôt

 

patbart

XLDnaute Nouveau
Bonjour,

Regarde dans le fichier joint si c'est ce genre de procédure que tu recherches. En fonction du
résultat dans la cellule C4 il ouvre une macro.

@+ Patbart

c'est ma première BA sur le site [file]
 

Jacques87

XLDnaute Accro
Bonsoir Lio

Je viens à l'instant de te faire parvenir un message dans ta BAL, comme quoi il n'y a que les montagnes qui ne se rencontrent pas, et encore ...
C'est vrai que des macros ou une procédure évenementielle comme celle de Dan, sont plus 'propres' qu'un bouton. mais j'ai par habitude d'utiliser cette méthode et ai du mal à m'en défaire
Enfin quel que soit le chemin parcouru, le but est d'arriver à destination ... comme disais un grand penseur (comment personne jusqu'à présent n'a dit cela, et ben dis donc serais-je un garnd penseur qui s'ignore?)
 

patbart

XLDnaute Nouveau
Bonjour,

Regarde dans le fichier joint si c'est ce genre de procédure que tu recherches. En fonction du
résultat dans la cellule C4 il ouvre une macro.

@+ Patbart

c'est ma première BA sur le site

[file name=Essai_20060123022133.zip size=7900]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Essai_20060123022133.zip[/file]

Pour jacques87 et Dan, je n'ai pas réussi à voir l'animation pour les PJ mais bon j'espère que cette fois ci mon fichier sera bien joint même si c'est trop tard.
Bonne nuit à tous

Message édité par: patbart, à: 23/01/2006 02:21
 

Pièces jointes

  • Essai_20060123022133.zip
    7.7 KB · Affichages: 23

Jacques87

XLDnaute Accro
Patbart

je me permets d'intervenir pour te conseiller de jeter un coup d'oeil sur le premier Fil de ce Forum où tu trouveras une aide très bien réalisée pour joindre un fichier à ton post
Attention :
1) il doit être zippé
2) pas d'espaces dans le nom
3) moins de 50 Ko

Et puis, félicitation pour ton inscription au sein de notre grande famille.
Bien venu au club
 

Dan

XLDnaute Barbatruc
Re,

Bienvenue à toi Patbart.
En complément à ce que Jacques vient de dire, lorsque tu constates que ton fichier n'est pas passé, retourne simplement sur ton message et clique sur EDITER, et là place ton fichier.
Cela évite que ton post ne soit placé plusieures fois comme c'est le cas ici.

 

lio

XLDnaute Occasionnel
Rebonsoir le fil,

Comme mon exemple était un peu merd...., je te joins un autre fichier. En fait, je voulais de te faire un 'truc' dans le genre de Dan ...

Salutations.Lio. [file name=Ripo_20060122221946.zip size=10375]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Ripo_20060122221946.zip[/file]
 

Pièces jointes

  • Ripo_20060122221946.zip
    10.1 KB · Affichages: 20

didique

XLDnaute Occasionnel
Bonsoir

Dan essaie de poster mais ça passe pas... ne pas déesepérer... la réponse arrive... si la caravane passe et les chiens aboient alors c'est que les appaches sont pas loin !!!

Bonne nuit à ceux qui dorment déjà !

:silly:
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir à tous,

Pour ton Code Lio, je ferai directement ainsi :



Et donc dans la foulée pour Ripo, dans la même structure :

Dans le Private Module de Feuille (Click Droit sur l'Onglet => Visualiser le Code


Dans un Module Standard :

Sub Macro1()
    MsgBox 'Hello I
'm the Macro1'
End Sub

Sub Macro2()
    MsgBox 'Hello I
'm the Macro2'
End Sub

Sub Macro3()
    MsgBox 'Hello I
'm the Macro3'
End Sub


Bonne Soirée
[ol]@+Thierry[/ol]
 

Discussions similaires

Réponses
3
Affichages
198
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…