Appel d'une macro si colonne x contiens valeur x

Résolu/Fermé
July74 Messages postés 47 Date d'inscription vendredi 4 avril 2014 Statut Membre Dernière intervention 23 décembre 2018 - 10 déc. 2014 à 20:16
July74 Messages postés 47 Date d'inscription vendredi 4 avril 2014 Statut Membre Dernière intervention 23 décembre 2018 - 11 déc. 2014 à 18:04
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.


A voir également:

6 réponses

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
10 déc. 2014 à 20:56
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
July74 Messages postés 47 Date d'inscription vendredi 4 avril 2014 Statut Membre Dernière intervention 23 décembre 2018 1
10 déc. 2014 à 22:01
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
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
Modifié par Mytå le 10/12/2014 à 22:57
Re le Forum

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

Mytå
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
10 déc. 2014 à 21:06
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
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
10 déc. 2014 à 22:55
Re le Forum

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

Mytå
0
July74 Messages postés 47 Date d'inscription vendredi 4 avril 2014 Statut Membre Dernière intervention 23 décembre 2018 1
11 déc. 2014 à 15:58
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
11 déc. 2014 à 16:47
Re le Forum

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

Mytå
0
July74 Messages postés 47 Date d'inscription vendredi 4 avril 2014 Statut Membre Dernière intervention 23 décembre 2018 1
11 déc. 2014 à 17:46
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
July74 Messages postés 47 Date d'inscription vendredi 4 avril 2014 Statut Membre Dernière intervention 23 décembre 2018 1
11 déc. 2014 à 18:04
Merci encore à toi Mytå
0