Rechercher : dans
Par :

VBA - Execution automatique de macro

Dernière réponse le 20 fév 2009 à 16:22:17 arno, le 6 sep 2007 à 23:01:46 
 Signaler ce message aux modérateurs

Sur VBA, je veux executer une macro dès que une case se rempli.
J m'explique :
J'ai une feuille qui se remplie automatiquement selon les valeurs que je met dans d'autres feuilles.
Ce que je veux c'est que dès qu'une valeur apparait dans la cellule "A1" (par exemple) alors la macro que j'ai créé s'execute

Merci d'avance!

Configuration: Windows XP
Firefox 2.0.0.6

Meilleures réponses pour « VBA Execution automatique de macro » dans :
Exécuter une macro Voir Exécuter une macro Excel et Calc proposent plusieurs façons d’exécuter une macro : en la sélectionnant dans une liste, dans la boîte de dialogue Macro ; par un raccourci clavier ; en l’attachant à un bouton de la barre d’outils ; ...
Interdire ou autoriser le démarrage automatique d'un CD VoirInterdire ou autoriser le démarrage automatique d'un CD Souvent les virus se transmettent par un CD via son exécution automatique. Pour empêcher cela, il faut interdire le démarrage automatique d'un CD pour pouvoir l'analyser avec son...

1

arno, le 6 sep 2007 à 23:06:27
  • +1

Un détail en plus : Je veux que cette macro s'excute quand A1 est remplie mais UNIQUEMENT si la cellule A1 contient une valeur spécifique!

Je pense qu'il y a du Worksheet_Change et du If là dedans

Répondre à arno

2

idem, le 6 sep 2007 à 23:10:04

Je ne sais pas avec quel logiciel tu travailles (excel, openoffice calc)
mais de facon generale

utilise dans ta macrola methode focus de l'objet en fait a chaque fois que tu saisis une donnée tu utilises pour valider la touche [entrée]
celle ci sera en fait le déclencheur de ta macro

Répondre à idem

3

arno, le 6 sep 2007 à 23:16:39

J'utilise Excel, mais j'avoue que j'ai pas compris ce qu'est un "focus de l'objet"
Un petit exemple please?

Répondre à arno

4

idem, le 6 sep 2007 à 23:46:51

Euh pardon je viens de relire ton pb autant pour moi la fonction setfocus ne s'utilise que dans des userform (le setfocus redonne la main à la macro suite à l'affichage d'une boite de dial (iserform)

donc ton cas cet une cellule "A1"

l'objet c'est la cellule "range (A1)" ne te fies pas à ma syntaxe ici

l'objet principal c'est workbook puis worksheet puis "range" puis cell <><pour chaque objet plusieurs proprietes par ex:

ACtive.cell

active <propriete de l'objet cell

donc tu peux utiliser la condition suivante
sur l'objet range("a1")

si cellule A1 active et touche entree >true alors execution macro

de memoire la touche entre a le caractere 13 donc
if(and(range("a1")= active.cell ); chr$(13)= true)
executer macro
else exit

Répondre à idem

5

arno, le 7 sep 2007 à 00:51:11

En fait j'ai reussi en utilisant un Worksheet_Change et en le mettant bien dans le code de la feuille ou je modifie des données (et pas dans celle ou je veux avoir l'execution de la macro) vous suivez?

Pour executer la macro sous condidtion, il faut tout simplement ajouter des IF dans le code de la macro elle meme

Répondre à arno

7

 ludo, le 20 fév 2009 à 16:22:17

Bonjour, je voudrais savoir si tu pouvais m'envoyer le fichier ou t'utilise l'exécution automatique de macro.
Je sais que le forum n'est pas tout récent donc si tu as plus le fichier tant pis.
Merci d'avance

Répondre à ludo

6

kamuy84, le 20 jun 2008 à 16:01:16

Bonjour,

Je travaille sous Access 2003 et j'essaye de faire des formulaires sympas. Pour l'un de ces formulaires, j'ai besoin de mettre un petit mot de passe. Tout se passe bien mais le soucis est dans le formulaire de mot de passe. La fonction SetFocus ne fonctionne pas dans ma version Access... je suis bien embêté...
Faut-il que je change la fonction

voici le site sur lequel j'ai pioché :

http://www.self-access.com/access/index.php?url=%2Faccess%2F­dossiers%2Findex.php

Répondre à kamuy84