Lancer une macro automatiquement

celine -  
Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'ai réalisé une macro qui s'intitule "choix_filiere".
Je voudrais que quand une cellule de la feuille excel se modifie la macro "choix_filiere" s'execute.
J'ai vu sur les forum qu'il faudrait utiliser à peu près ce genre de chose
"Private Sub Worksheet_Change(ByVal Target As Range)

End Sub"
mais je ne sais pas où écrire ce scripte.
Je suis un peu perdue entre les modules, les workbook, worksheet ...

Merci d'avance pour votre aide.
A voir également:

4 réponses

Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   5 138
 
salut,

par exemple si tu changes manuellement la valeur de la cellule B7

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$7" Then

' ici ton code ou le nom de la macro à lancer

End If
End Sub

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
celine
 
Merci Mike pour ta réponse très rapide.

J'ai repris ton scripte :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$1" Then
Choix_filiere Macro
End If
End Sub

Mais quand dans ma cellule F1 je change la valeur, j'obtiens le message d'erreur suivant :
"Erreur de compilation.
Nombre d'arguments incorrecte ou affectation de propriete incorrecte"

As-tu une solution à ce nouveau problème ?
Est ce que ça peut venir du fait que la macro est faite dans un module ?

Merci pour ton aide.
0
Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   5 138
 
Re,

La macro est dans un module ce qui est normal, l'as tu testée voir si'il n'y a pas de problème de ce côté,
si ta macro fonctionne bien as tu saisi le correctement le nom de ta macro exemple ta macro se nomme
Sub choix_filiaire ()

tu dois saisir

choix_filiaire

Tiens nous au courant

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
celine
 
Encore merci Mike
Ca a marché. Dès que je clique sur la cellule F3 ça execute ma macro.
Le problème c'est que je n'ai pas le temps de changer la valeur de F3. Juste le fait de cliquer sur la cellule ca execute la macro.
Connais tu un moyen de selectionner la cellule F3, faire mon choix (la cellule F3 propose un choix dans une liste déroulante) et quand je fais "entrée" ça execute la macro.

Merci pour ton aide précieuse.
A bientot
0
Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   5 138
 
Re,

Normalement avec ce code, ta macro nommée Choix_filiere ne devrait s'activer qu'après modification de la cellule F1 et Entrée

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$1" Then

Choix_filiere

End If
End Sub

sinon essayes ce code

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("F1")) Is Nothing Then

Choix_filiere

End If
End Sub



A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0