Appel d'une macro si colonne x contiens valeur x

Résolu
July74 Messages postés 49 Statut Membre -  
July74 Messages postés 49 Statut Membre -
Bonjour,
J'ai dans une colonne des noms employés.
J'ai des macros pour chacun.
comment appeler les macros en fonction de leur présence dans la colonne employés??
Ex.: Employés: Lise(A1),Yvan(A2),Gilbert(A3)
Macros: Lise, Yvan, Bertrand, Gertrude, Gilbert.
Je veux exécuter les macros; Lise, Yvan, Gilbert.

6 réponses

  1. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   958
     
    Salut le Forum

    Pour la plage A1:A10, code à placer dans le module de la feuille

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Application.Intersect(Target, Range("A1:A10")) Is Nothing Then
            Select Case Target.Value
            Case "Lise"
                Call Lise
            Case "Yvan"
                Call Yvan
            End Select
        End If
    End Sub
    

    Mytå
    0
    1. July74 Messages postés 49 Statut Membre 1
       
      Merci beaucoup pour ta réponse.
      Je l'ai essayé et ça fonctionne mais seulement sur le 1er nom.
      Avant de recevoir ta réponse j'ai trouvé une solution mais bcp plus longue, avec une macro;

      Sub EMPL()

      If Range("A1") = "Lise" Then
      Call Lise
      End If
      If Range("A1") = "Yvan" Then
      Call Yvan
      End If
      ...
      Ens Sub

      C'est long car je dois tout inclure les possibilités.
      Peut-être j'ai pas entré ton code comme il faut
      0
    2. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   958
       
      Re le Forum

      Voir Message #5 pour un fichier avec les deux méthodes.

      Mytå
      0
  2. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   958
     
    Re le Forum

    Autre possibilité

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Application.Intersect(Target, Range("A1:A10")) Is Nothing Then
        On Error Resume Next
         Run Target.Value
        End If
    End Sub
    

    Mytå
    0
  3. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   958
     
    Re le Forum

    Les deux méthodes dans le fichier : July74.xls

    Mytå
    0
  4. July74 Messages postés 49 Statut Membre 1
     
    Merci pour le fichier
    Je l'ai essayer mais se peut-il que se soit le code
    "If Not Application.Intersect"
    Parce que en fait dans ma colonne j'ai plusieurs nom à traiter.
    Il peut y avoir Lise, Yvan, Gilbert mais parfois juste Yvan & Gilbert...

    Avec ce code le résultat est bon seulement pour le premier nom.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   958
     
    Re le Forum

    Les macros sont lancées lors de la saisie du nom dans la plage de cellule A1 à A10

    Mytå
    0
  7. July74 Messages postés 49 Statut Membre 1
     
    Ok c'était correct il y avait un erreur de mise à jour car j'ai enregistrer et fermer et en ré-ouvrant mon fichier tout marche comme il faut

    c'est super!

    Par contre la 2ième fonctionne pas " Run Target.Value"
    Mais c'est pas grave la 1ère option est bonne.
    0
    1. July74 Messages postés 49 Statut Membre 1
       
      Merci encore à toi Mytå
      0