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

lancement automatique d'une macro

natbru

XLDnaute Occasionnel
Bonsoir le forum,

Je reviens vers vous pour une question à 2.5 balles.

Comment peut-on faire appaître un userform lorsqu'une condition est remplie, sans exécuter manuellement la macro.

Explications :

Lorsque la cellule S5 = 'GAGNE' alors le userform s'affiche.

J'ai tapé le code suivant dans ThisWorkbook :
Code:
Sub AfficherProduits()
If Worksheets('AFFAIRES').Range('S5').Value = 'GAGNE' Then Produits.Show
End Sub
Ca fonctionne lorsque que j'exécute la macro mais je voudrais qu'elle s'exécute automatique quand la condition est remplie.

Merci de vos réponses.
 

Hervé

XLDnaute Barbatruc
Bonsoir natbru

sympa le ptit bout de chou en avatar

essaye de placer ta macro dans une macro évenementielle dans le module de ta feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Range('S5').Value = 'GAGNE' Then Produits.Show
End Sub

salut
 

Hervé

XLDnaute Barbatruc
re

alors sympa ton petit garcon

une macro évenementielle est un type particulier de macro.

celle-ci ne se déclenche que lorsqu'un évenement survient sur la feuille (sélection d'une cellule, texte particulier dans une autre, ajout d'une feuille....)

dans ton cas, tu veux que la macro se déclenche seulement si le mot GAGNE se trouve en S5, il suffit donc d'utiliser une macro qui va surveiller cet évenement.

pour ceci on utilise les _change.

il te suffit de placer ce code dans le module de la feuille, et non le un module standard.

clic droit sur le nom de l'onglet, puis visualiser le code.

si tu n'y arrives pas, hésite pas je te ferai un classeur.

salut

edition : on s'est croisé, salut

Message édité par: Hervé, à: 22/12/2005 23:06
 

natbru

XLDnaute Occasionnel
Bonjour le forum, Hervé,

Merci encore pour tes explications.

Je reviens vers toi car j'ai continué mon projet mais j'ai deux soucis :

- il y a un bug car quand je met 'gagné' il ouvre le userform (jusque la pas de problème),
ensuite il y a des cases à cocher et lorsqu'elles le sont, je voudrais que les captions soient copier dans la cellule de la colonne T correspondante. le bug viens (je crois) du fait que lorsqu'il copie la valeur dans la cellule, il cherche à rouvrir le userform.

- mon second problème est que je ne sais pas comment faire pour lui dire que les captions ne doivent pas forcément être copier dans la cellule S5 mais peut-être S6 ou S7 etc... (en fonction de l'affaire traité.

Je joins mon fichier car c un peu compliqué à expliquer. Je pense qu'en le testant ce sera plus clair.

Je n'est travaillé que sur la case MAVIL pour le moment.

Merci pour ton aide.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…