démarrer une macro si un nouveau chiffre est saisi en E7 de la F eu
4 réponses
jean-Paul
Bonjour à tous j’ai récupéré ( et modifié ) ces lignes de code ( à copier
dans this worbook ) pour pouvoir démarrer la macro zaza, lorsque je saisi en
E7 un nouveau chiffre, ça marche ; mais j’obtiens ultérieurement des
interférences avec une autre macro qui doit écrire dans une autre feuille en
E7 :
Comment limiter l’action de cette instruction à la 1ère feuille du classeur ?
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Application.ScreenUpdating = False
If Application.Intersect(Target, Range("E7")) Is Nothing Then End
zaza
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Poulpor
Bonjour Jean-Paul,
Ceci m'est déjà arriver dans un fichier où j'avais du code évènementiel qui n'arrêtait pas de tourner.
voici ma solution :
J'ai créé une variable publique bouléene (vrai-faux); et j'ai modifié mes codes évenementiels pour qu'à chaque fois, j'ai : Private sub() if totoúlse then ... moncode ... end if end sub
Evidemment, quand je fais tourner ma macro prinicpale et que je ne veux pas faire tourner les codes evenementiels, je dois ajouter le code toto=true
je ne crois pas que cette solution ait de la classe, mais ca a le mérite de marcher.
N'oublie pas de déclarer la variable en public (Public toto As Boolean) pour ne pas avoir à gérer les déclarations de cette dernière
poulpor
Bonjour à tous j’ai récupéré ( et modifié ) ces lignes de code ( à copier dans this worbook ) pour pouvoir démarrer la macro zaza, lorsque je saisi en E7 un nouveau chiffre, ça marche ; mais j’obtiens ultérieurement des interférences avec une autre macro qui doit écrire dans une autre feuille en E7 :
Comment limiter l’action de cette instruction à la 1ère feuille du classeur ?
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False If Application.Intersect(Target, Range("E7")) Is Nothing Then End zaza End Sub
-- Merci d'avance jps
Bonjour Jean-Paul,
Ceci m'est déjà arriver dans un fichier où j'avais du code évènementiel qui
n'arrêtait pas de tourner.
voici ma solution :
J'ai créé une variable publique bouléene (vrai-faux); et j'ai modifié mes
codes évenementiels pour qu'à chaque fois, j'ai :
Private sub()
if totoúlse then
... moncode ...
end if
end sub
Evidemment, quand je fais tourner ma macro prinicpale et que je ne veux pas
faire tourner les codes evenementiels, je dois ajouter le code toto=true
je ne crois pas que cette solution ait de la classe, mais ca a le mérite de
marcher.
N'oublie pas de déclarer la variable en public (Public toto As Boolean) pour
ne pas avoir à gérer les déclarations de cette dernière
poulpor
Bonjour à tous j’ai récupéré ( et modifié ) ces lignes de code ( à copier
dans this worbook ) pour pouvoir démarrer la macro zaza, lorsque je saisi en
E7 un nouveau chiffre, ça marche ; mais j’obtiens ultérieurement des
interférences avec une autre macro qui doit écrire dans une autre feuille en
E7 :
Comment limiter l’action de cette instruction à la 1ère feuille du classeur ?
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Application.ScreenUpdating = False
If Application.Intersect(Target, Range("E7")) Is Nothing Then End
zaza
End Sub
Ceci m'est déjà arriver dans un fichier où j'avais du code évènementiel qui n'arrêtait pas de tourner.
voici ma solution :
J'ai créé une variable publique bouléene (vrai-faux); et j'ai modifié mes codes évenementiels pour qu'à chaque fois, j'ai : Private sub() if totoúlse then ... moncode ... end if end sub
Evidemment, quand je fais tourner ma macro prinicpale et que je ne veux pas faire tourner les codes evenementiels, je dois ajouter le code toto=true
je ne crois pas que cette solution ait de la classe, mais ca a le mérite de marcher.
N'oublie pas de déclarer la variable en public (Public toto As Boolean) pour ne pas avoir à gérer les déclarations de cette dernière
poulpor
Bonjour à tous j’ai récupéré ( et modifié ) ces lignes de code ( à copier dans this worbook ) pour pouvoir démarrer la macro zaza, lorsque je saisi en E7 un nouveau chiffre, ça marche ; mais j’obtiens ultérieurement des interférences avec une autre macro qui doit écrire dans une autre feuille en E7 :
Comment limiter l’action de cette instruction à la 1ère feuille du classeur ?
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False If Application.Intersect(Target, Range("E7")) Is Nothing Then End zaza End Sub
-- Merci d'avance jps
Mima
Bonjour
Il faut déactiver les actions évenementielles durant le déroulement de la macro
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False '------> Fige l'écran mais pas les évenements
Application.EnableEventsúlse '------> Déactive les évenements
If Application.Intersect(Target, Range("E7")) Is Nothing Then GOTO 1 '------>Renvoi à la ligne de commande de réactivation zaza 1: Application.EnableEvents=True '------> Attention ! Penser à réactiver la gestion des évenements avant l'arret de la macro. End Sub
"jean-Paul" a écrit dans le message de news:
Bonjour à tous j’ai récupéré ( et modifié ) ces lignes de code ( à copier dans this worbook ) pour pouvoir démarrer la macro zaza, lorsque je saisi en E7 un nouveau chiffre, ça marche ; mais j’obtiens ultérieurement des interférences avec une autre macro qui doit écrire dans une autre feuille en E7 :
Comment limiter l’action de cette instruction à la 1ère feuille du classeur ?
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False If Application.Intersect(Target, Range("E7")) Is Nothing Then End zaza End Sub
-- Merci d'avance jps
Bonjour
Il faut déactiver les actions évenementielles durant le déroulement de la
macro
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Application.ScreenUpdating = False '------> Fige l'écran mais pas
les évenements
Application.EnableEventsúlse '------> Déactive les évenements
If Application.Intersect(Target, Range("E7")) Is Nothing Then GOTO 1
'------>Renvoi à la ligne de commande de réactivation
zaza
1: Application.EnableEvents=True '------> Attention ! Penser à réactiver
la gestion des évenements avant l'arret de la macro.
End Sub
"jean-Paul" <jeanPaul@discussions.microsoft.com> a écrit dans le message de
news: BE77901B-D918-4222-BE6F-FAB77343B466@microsoft.com...
Bonjour à tous j’ai récupéré ( et modifié ) ces lignes de code ( à copier
dans this worbook ) pour pouvoir démarrer la macro zaza, lorsque je saisi
en
E7 un nouveau chiffre, ça marche ; mais j’obtiens ultérieurement des
interférences avec une autre macro qui doit écrire dans une autre feuille
en
E7 :
Comment limiter l’action de cette instruction à la 1ère feuille du
classeur ?
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Application.ScreenUpdating = False
If Application.Intersect(Target, Range("E7")) Is Nothing Then End
zaza
End Sub
Il faut déactiver les actions évenementielles durant le déroulement de la macro
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False '------> Fige l'écran mais pas les évenements
Application.EnableEventsúlse '------> Déactive les évenements
If Application.Intersect(Target, Range("E7")) Is Nothing Then GOTO 1 '------>Renvoi à la ligne de commande de réactivation zaza 1: Application.EnableEvents=True '------> Attention ! Penser à réactiver la gestion des évenements avant l'arret de la macro. End Sub
"jean-Paul" a écrit dans le message de news:
Bonjour à tous j’ai récupéré ( et modifié ) ces lignes de code ( à copier dans this worbook ) pour pouvoir démarrer la macro zaza, lorsque je saisi en E7 un nouveau chiffre, ça marche ; mais j’obtiens ultérieurement des interférences avec une autre macro qui doit écrire dans une autre feuille en E7 :
Comment limiter l’action de cette instruction à la 1ère feuille du classeur ?
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False If Application.Intersect(Target, Range("E7")) Is Nothing Then End zaza End Sub
-- Merci d'avance jps
jean-Paul
Merci pour ces renseignements, malgré l'utilisation de ce code j'avais encore des interférences, ( et pour cause je me suis apperçu que ce n'est pas cette macro qui était gènée par l'autre, c'est elle qui interférait sur l'autre ( une fonction dans this workbook étant semble-t-il applicable à toutes les feuilles , ) ) j'ai donc repris le problème à l'anvers et j'ai mis "Application.EnableEventsúlse" au début de la macro qui était en dérangée ! et ça marche ! Encore un grand Merci pour ton aide !!!! -- jps
Bonjour
Il faut déactiver les actions évenementielles durant le déroulement de la macro
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False '------> Fige l'écran mais pas les évenements
Application.EnableEventsúlse '------> Déactive les évenements
If Application.Intersect(Target, Range("E7")) Is Nothing Then GOTO 1 '------>Renvoi à la ligne de commande de réactivation zaza 1: Application.EnableEvents=True '------> Attention ! Penser à réactiver la gestion des évenements avant l'arret de la macro. End Sub
"jean-Paul" a écrit dans le message de news:
Bonjour à tous j’ai récupéré ( et modifié ) ces lignes de code ( à copier dans this worbook ) pour pouvoir démarrer la macro zaza, lorsque je saisi en E7 un nouveau chiffre, ça marche ; mais j’obtiens ultérieurement des interférences avec une autre macro qui doit écrire dans une autre feuille en E7 :
Comment limiter l’action de cette instruction à la 1ère feuille du classeur ?
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False If Application.Intersect(Target, Range("E7")) Is Nothing Then End zaza End Sub
-- Merci d'avance jps
Merci pour ces renseignements, malgré l'utilisation de ce code j'avais
encore des interférences, ( et pour cause je me suis apperçu que ce n'est pas
cette macro qui était gènée par l'autre, c'est elle qui interférait sur
l'autre ( une fonction dans this workbook étant semble-t-il applicable à
toutes les feuilles , ) ) j'ai donc repris le problème à l'anvers et j'ai
mis "Application.EnableEventsúlse" au début de la macro qui était en
dérangée ! et ça marche ! Encore un grand Merci pour ton aide !!!!
--
jps
Bonjour
Il faut déactiver les actions évenementielles durant le déroulement de la
macro
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Application.ScreenUpdating = False '------> Fige l'écran mais pas
les évenements
Application.EnableEventsúlse '------> Déactive les évenements
If Application.Intersect(Target, Range("E7")) Is Nothing Then GOTO 1
'------>Renvoi à la ligne de commande de réactivation
zaza
1: Application.EnableEvents=True '------> Attention ! Penser à réactiver
la gestion des évenements avant l'arret de la macro.
End Sub
"jean-Paul" <jeanPaul@discussions.microsoft.com> a écrit dans le message de
news: BE77901B-D918-4222-BE6F-FAB77343B466@microsoft.com...
Bonjour à tous j’ai récupéré ( et modifié ) ces lignes de code ( à copier
dans this worbook ) pour pouvoir démarrer la macro zaza, lorsque je saisi
en
E7 un nouveau chiffre, ça marche ; mais j’obtiens ultérieurement des
interférences avec une autre macro qui doit écrire dans une autre feuille
en
E7 :
Comment limiter l’action de cette instruction à la 1ère feuille du
classeur ?
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Application.ScreenUpdating = False
If Application.Intersect(Target, Range("E7")) Is Nothing Then End
zaza
End Sub
Merci pour ces renseignements, malgré l'utilisation de ce code j'avais encore des interférences, ( et pour cause je me suis apperçu que ce n'est pas cette macro qui était gènée par l'autre, c'est elle qui interférait sur l'autre ( une fonction dans this workbook étant semble-t-il applicable à toutes les feuilles , ) ) j'ai donc repris le problème à l'anvers et j'ai mis "Application.EnableEventsúlse" au début de la macro qui était en dérangée ! et ça marche ! Encore un grand Merci pour ton aide !!!! -- jps
Bonjour
Il faut déactiver les actions évenementielles durant le déroulement de la macro
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False '------> Fige l'écran mais pas les évenements
Application.EnableEventsúlse '------> Déactive les évenements
If Application.Intersect(Target, Range("E7")) Is Nothing Then GOTO 1 '------>Renvoi à la ligne de commande de réactivation zaza 1: Application.EnableEvents=True '------> Attention ! Penser à réactiver la gestion des évenements avant l'arret de la macro. End Sub
"jean-Paul" a écrit dans le message de news:
Bonjour à tous j’ai récupéré ( et modifié ) ces lignes de code ( à copier dans this worbook ) pour pouvoir démarrer la macro zaza, lorsque je saisi en E7 un nouveau chiffre, ça marche ; mais j’obtiens ultérieurement des interférences avec une autre macro qui doit écrire dans une autre feuille en E7 :
Comment limiter l’action de cette instruction à la 1ère feuille du classeur ?
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False If Application.Intersect(Target, Range("E7")) Is Nothing Then End zaza End Sub
-- Merci d'avance jps
jean-Paul
Attention il semble que ce code d'activation désactivation des évennement placé en this worbook empeche de travailler sur le classeur avec plantage du classeur avec de simles copier coller ! ( à réintaller à la fin ?) -- jps
Merci pour ces renseignements, malgré l'utilisation de ce code j'avais encore des interférences, ( et pour cause je me suis apperçu que ce n'est pas cette macro qui était gènée par l'autre, c'est elle qui interférait sur l'autre ( une fonction dans this workbook étant semble-t-il applicable à toutes les feuilles , ) ) j'ai donc repris le problème à l'anvers et j'ai mis "Application.EnableEventsúlse" au début de la macro qui était en dérangée ! et ça marche ! Encore un grand Merci pour ton aide !!!! -- jps
Bonjour
Il faut déactiver les actions évenementielles durant le déroulement de la macro
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False '------> Fige l'écran mais pas les évenements
Application.EnableEventsúlse '------> Déactive les évenements
If Application.Intersect(Target, Range("E7")) Is Nothing Then GOTO 1 '------>Renvoi à la ligne de commande de réactivation zaza 1: Application.EnableEvents=True '------> Attention ! Penser à réactiver la gestion des évenements avant l'arret de la macro. End Sub
"jean-Paul" a écrit dans le message de news:
Bonjour à tous j’ai récupéré ( et modifié ) ces lignes de code ( à copier dans this worbook ) pour pouvoir démarrer la macro zaza, lorsque je saisi en E7 un nouveau chiffre, ça marche ; mais j’obtiens ultérieurement des interférences avec une autre macro qui doit écrire dans une autre feuille en E7 :
Comment limiter l’action de cette instruction à la 1ère feuille du classeur ?
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False If Application.Intersect(Target, Range("E7")) Is Nothing Then End zaza End Sub
-- Merci d'avance jps
Attention il semble que ce code d'activation désactivation des évennement
placé en this worbook empeche de travailler sur le classeur avec plantage du
classeur avec de simles copier coller ! ( à réintaller à la fin ?)
--
jps
Merci pour ces renseignements, malgré l'utilisation de ce code j'avais
encore des interférences, ( et pour cause je me suis apperçu que ce n'est pas
cette macro qui était gènée par l'autre, c'est elle qui interférait sur
l'autre ( une fonction dans this workbook étant semble-t-il applicable à
toutes les feuilles , ) ) j'ai donc repris le problème à l'anvers et j'ai
mis "Application.EnableEventsúlse" au début de la macro qui était en
dérangée ! et ça marche ! Encore un grand Merci pour ton aide !!!!
--
jps
Bonjour
Il faut déactiver les actions évenementielles durant le déroulement de la
macro
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Application.ScreenUpdating = False '------> Fige l'écran mais pas
les évenements
Application.EnableEventsúlse '------> Déactive les évenements
If Application.Intersect(Target, Range("E7")) Is Nothing Then GOTO 1
'------>Renvoi à la ligne de commande de réactivation
zaza
1: Application.EnableEvents=True '------> Attention ! Penser à réactiver
la gestion des évenements avant l'arret de la macro.
End Sub
"jean-Paul" <jeanPaul@discussions.microsoft.com> a écrit dans le message de
news: BE77901B-D918-4222-BE6F-FAB77343B466@microsoft.com...
Bonjour à tous j’ai récupéré ( et modifié ) ces lignes de code ( à copier
dans this worbook ) pour pouvoir démarrer la macro zaza, lorsque je saisi
en
E7 un nouveau chiffre, ça marche ; mais j’obtiens ultérieurement des
interférences avec une autre macro qui doit écrire dans une autre feuille
en
E7 :
Comment limiter l’action de cette instruction à la 1ère feuille du
classeur ?
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Application.ScreenUpdating = False
If Application.Intersect(Target, Range("E7")) Is Nothing Then End
zaza
End Sub
Attention il semble que ce code d'activation désactivation des évennement placé en this worbook empeche de travailler sur le classeur avec plantage du classeur avec de simles copier coller ! ( à réintaller à la fin ?) -- jps
Merci pour ces renseignements, malgré l'utilisation de ce code j'avais encore des interférences, ( et pour cause je me suis apperçu que ce n'est pas cette macro qui était gènée par l'autre, c'est elle qui interférait sur l'autre ( une fonction dans this workbook étant semble-t-il applicable à toutes les feuilles , ) ) j'ai donc repris le problème à l'anvers et j'ai mis "Application.EnableEventsúlse" au début de la macro qui était en dérangée ! et ça marche ! Encore un grand Merci pour ton aide !!!! -- jps
Bonjour
Il faut déactiver les actions évenementielles durant le déroulement de la macro
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False '------> Fige l'écran mais pas les évenements
Application.EnableEventsúlse '------> Déactive les évenements
If Application.Intersect(Target, Range("E7")) Is Nothing Then GOTO 1 '------>Renvoi à la ligne de commande de réactivation zaza 1: Application.EnableEvents=True '------> Attention ! Penser à réactiver la gestion des évenements avant l'arret de la macro. End Sub
"jean-Paul" a écrit dans le message de news:
Bonjour à tous j’ai récupéré ( et modifié ) ces lignes de code ( à copier dans this worbook ) pour pouvoir démarrer la macro zaza, lorsque je saisi en E7 un nouveau chiffre, ça marche ; mais j’obtiens ultérieurement des interférences avec une autre macro qui doit écrire dans une autre feuille en E7 :
Comment limiter l’action de cette instruction à la 1ère feuille du classeur ?
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range) Application.ScreenUpdating = False If Application.Intersect(Target, Range("E7")) Is Nothing Then End zaza End Sub