Evénement worksheet se déclenche dans toutes les feuilles

Bonjour,

Tout nouveau sur le forum , veuillez m'excuser si je ne respecte pas certains codes.

Voilà mon pb :

J'ai créé un événement worksheet ,

Le but est de déclencher l'événement et donc lancer une macro quand on tape un "return" dans une des cellules de la plage A3 à A2198 de la feuille 1.

Le code ( mis en feuille 1 ) est le suivant :

image

Nota : La macro1 qui s'exécute lors de cet événement se trouve dans le module 1 . c'est une macro sommaire consistant à simplement faire des sélections de cellules ( Range("A60").Select ) uniquement pour la mise au point.

Cet événement fonctionne parfaitement en feuille 1 mais le pb est que , une fois que l'on a déclenché cet événement plusieurs fois en feuille 1 , alors il se déclenche également sur les autres feuilles et dans n'importe quelle cellule !

Comment faire pour qu'il ne se déclenche que sur la feuille 1 ?

Je pensait que lorsque l'on mettait le code en feuil 1 (voir copie d'écran ci-dessus ) alors l'évènement ne se déclenchait que sur la feuille 1 .

Merci d'avance pour votre aide

image

Bonjour

Sous la ligne Private Sub tu ajoutes:

WorkSheet ("tu mets le nom de la feuille ici").Select

Cordialement

Merci pour ta réponse joco7915, j'ai ajouté la ligne de code comme tu m'as indiqué, mais cela me génère une erreur de compilation :

image

Bonsoir

Peux tu joindre ton fichier pour voir de quoi il en retourne

Cordialement

Voici le fichier.

En gros c'est un fichier destiné à compter les tours effectués par les coureurs d'une compétition VTT et ensuite générer le classement selon le nombre de tours effectués.

Le pointage des concurrents est effectué en colonne A de la feuille 1 grâce à un lecteur de puces RFID :

à chaque fois qu'un concurrent passe devant le lecteur RFID , celui ci envoie la référence de la puce RFID + return dans la cellule sélectionnée.

Le but de la macro 1 lancée par " l'Evenement worksheeet " sera de vérifier qu'il n'y a pas eu de double acquisition ( cas où la puce RFID reste trop longtemps dans la zone de détection ) et donc de supprimer les doubles acquisitions.

Pour l'instant la macro1 ne fait que sélectionner des cellules avec une tempo car pour l'instant, elle est uniquement destinée à faire la mise au point de " l''évènement worksheet " dont le code se trouve en feuil 1 .

C'est dans ce code qu'il doit y avoir un pb car il fonctionne parfaitement en feuille 1 ( il est fait pour ça ) mais le pb est qu'il fonctionne aussi sur les autres feuilles ! et çà c'est un pb.

Merci pour ton aide ( nota je suis néophyte en VBA )

Bonsoir LMARC, le Forum,

A rajouter en 1ière ligne de la macro la condition if ActiveSheet.Name contrôlant la feuille sur laquelle s'effectuera la suite de la macro.

Ainsi aucune autre feuille sauf la 1ière feuille sera concernée.

Sub Macro1() 'Macro uniquement destinée à vérifier le fonctionnement de l'évènement worksheet de la feuille 1
If ActiveSheet.Name <> "COMPTAGE tours" Then Exit Sub
Application.EnableEvents = False  'Désactivation de tous les événements
Range("F60").Select
Etc...

A nouveau,

Ensuite corriger le code événement Worksheet comme ci-dessous. Car la restauration est plus explicite avec le vide entre les guillemets.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("A3:A2198"), Target) Is Nothing Then
        ' affectation aux touches Entrée de l'exécution d'une macro
        Application.OnKey "{RETURN}", "macro1"
        Application.OnKey "{ENTER}", "macro1"
    Else:
        ' restauration action standard des touches Entrée
        Application.OnKey "{RETURN}", ""
        Application.OnKey "{ENTER}", ""
    End If
End Sub

Sinon bon fichier.

Merci beaucoup X Cellus, c'était effectivement la chose la plus simple à faire.

J'ai juste eu à ajouter à ta ligne de code dans la macro , une réactivation standard des touches et ça marche impeccable.

En fait ce que je n'avais pas compris , c'est que , si avant de quitter la feuille 1, le curseur était resté dans les cellules déclenchant l’événement sur la feuille1.

Alors l'événement se déclenchait aussi sur les autre feuilles compte tenu que la condition restait satisfaite en feuille 1 même si elle n’apparaît pas à l'écran.

Encore merci

Rechercher des sujets similaires à "evenement worksheet declenche toutes feuilles"