Lancer une macro automatiquement

celine -  
Mike-31 Messages postés 18405 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.
Configuration: Windows XP Internet Explorer 6.0

4 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
    1. 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
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  3. 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
  4. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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