Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Déclenchement d'une macro

4 réponses
Avatar
lilianfred
Bonjour

Après avoir parcouru en long et travers un bonne partie des très bons sites
sur le sujet, je viens chercher de l'aide.

Je voudrai lancer une macro "jourWE", après avoir modifié la valeur d'une
cellule sur une feuille différente de celles où la macro va intervenir.

Voici la macro que j'ai placé dans le "ThisWorkBook".

"Private Sub App_SheetChange(ByVal Sh As Object, _ ByVal Target As
Excel.Range)

If Target.Address = "Feuil4!$K$1" And Target.Count = 1 Then

Application.Run "'Classeur1.xlsm'!jourWE"

End If

End Sub"

Seulement, cela ne marche pas. Est-ce les bons codes?

Dois-je renseigner tous les "Worksheet" de chaque feuille pour que la macro
"jourWE" fonctionne dans chaque feuille du classeur?

Merci pour votre aide

Lilianfred

4 réponses

Avatar
lilianfred
Bonsoir Daniel

Cette macro fonctionne bien sur la feuille où elle est inscrite et lorsque
le changement dans la cellule s'opère sur cette même feuille.

Je voudrai que cette macro s'exécute sur plusieurs feuilles du classeur.
Comment procéder? J'ai du loupé quelque chose;

Merci de ton aide

Lilianfred


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Mets cette macro dans le module de la feuille Feuil4 :

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$K$1" And Target.Count = 1 Then

Application.Run "'Classeur1.xlsm'!jourWE"

End If

End Sub

Cordialement.
Daniel

Bonjour

Après avoir parcouru en long et travers un bonne partie des très bons
sites sur le sujet, je viens chercher de l'aide.

Je voudrai lancer une macro "jourWE", après avoir modifié la valeur d'une
cellule sur une feuille différente de celles où la macro va intervenir.

Voici la macro que j'ai placé dans le "ThisWorkBook".

"Private Sub App_SheetChange(ByVal Sh As Object, _ ByVal Target As
Excel.Range)

If Target.Address = "Feuil4!$K$1" And Target.Count = 1 Then

Application.Run "'Classeur1.xlsm'!jourWE"

End If

End Sub"

Seulement, cela ne marche pas. Est-ce les bons codes?

Dois-je renseigner tous les "Worksheet" de chaque feuille pour que la
macro "jourWE" fonctionne dans chaque feuille du classeur?

Merci pour votre aide

Lilianfred






Avatar
Daniel.C
Bonsoir.
Dans "thisworkbook" :
et pour les feuilles Feuil3 et Feuil4 (pour l'exemple) :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)

If Sh.Name <> "Feuil4" And Sh.Name <> "Feuil3" Then Exit Sub
If Target.Address = "$K$1" And Target.Count = 1 Then

Application.Run "'Classeur1.xlsm'!jourWE"

End If

End Sub

Cordialement.
Daniel

Bonsoir Daniel

Cette macro fonctionne bien sur la feuille où elle est inscrite et lorsque le
changement dans la cellule s'opère sur cette même feuille.

Je voudrai que cette macro s'exécute sur plusieurs feuilles du classeur.
Comment procéder? J'ai du loupé quelque chose;

Merci de ton aide

Lilianfred


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Mets cette macro dans le module de la feuille Feuil4 :

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$K$1" And Target.Count = 1 Then

Application.Run "'Classeur1.xlsm'!jourWE"

End If

End Sub

Cordialement.
Daniel

Bonjour

Après avoir parcouru en long et travers un bonne partie des très bons
sites sur le sujet, je viens chercher de l'aide.

Je voudrai lancer une macro "jourWE", après avoir modifié la valeur d'une
cellule sur une feuille différente de celles où la macro va intervenir.

Voici la macro que j'ai placé dans le "ThisWorkBook".

"Private Sub App_SheetChange(ByVal Sh As Object, _ ByVal Target As
Excel.Range)

If Target.Address = "Feuil4!$K$1" And Target.Count = 1 Then

Application.Run "'Classeur1.xlsm'!jourWE"

End If

End Sub"

Seulement, cela ne marche pas. Est-ce les bons codes?

Dois-je renseigner tous les "Worksheet" de chaque feuille pour que la
macro "jourWE" fonctionne dans chaque feuille du classeur?

Merci pour votre aide

Lilianfred








Avatar
Daniel.C
Bonjour.
Ca fonctionne chez moi. Modifie cependant ton code come suit :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Sh.Name <> "Feuil1" And Sh.Name <> "Feuil2" Then Exit Sub
If Target.Address = "$K$1" And Target.Count = 1 Then
Application.EnableEvents = False
Application.Run "'essa1.xls'!jourWE"
Application.EnableEvents = True
End If
End Sub

Daniel

Bonsoir

Les dernières modifications apportées n'ont rien donné.
Je sèche un peu sur le sujet

Je me permet de joindre le dossier en question, peut être un coup d'oeuil
avisé pourra m'expliquer où je me suis trompé

Merci

Lilianfred

"Daniel.C" a écrit dans le message de
news:
Bonsoir.
Dans "thisworkbook" :
et pour les feuilles Feuil3 et Feuil4 (pour l'exemple) :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

If Sh.Name <> "Feuil4" And Sh.Name <> "Feuil3" Then Exit Sub
If Target.Address = "$K$1" And Target.Count = 1 Then

Application.Run "'Classeur1.xlsm'!jourWE"

End If

End Sub

Cordialement.
Daniel

Bonsoir Daniel

Cette macro fonctionne bien sur la feuille où elle est inscrite et lorsque
le changement dans la cellule s'opère sur cette même feuille.

Je voudrai que cette macro s'exécute sur plusieurs feuilles du classeur.
Comment procéder? J'ai du loupé quelque chose;

Merci de ton aide

Lilianfred


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Mets cette macro dans le module de la feuille Feuil4 :

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$K$1" And Target.Count = 1 Then

Application.Run "'Classeur1.xlsm'!jourWE"

End If

End Sub

Cordialement.
Daniel

Bonjour

Après avoir parcouru en long et travers un bonne partie des très bons
sites sur le sujet, je viens chercher de l'aide.

Je voudrai lancer une macro "jourWE", après avoir modifié la valeur
d'une cellule sur une feuille différente de celles où la macro va
intervenir.

Voici la macro que j'ai placé dans le "ThisWorkBook".

"Private Sub App_SheetChange(ByVal Sh As Object, _ ByVal Target As
Excel.Range)

If Target.Address = "Feuil4!$K$1" And Target.Count = 1 Then

Application.Run "'Classeur1.xlsm'!jourWE"

End If

End Sub"

Seulement, cela ne marche pas. Est-ce les bons codes?

Dois-je renseigner tous les "Worksheet" de chaque feuille pour que la
macro "jourWE" fonctionne dans chaque feuille du classeur?

Merci pour votre aide

Lilianfred














Avatar
lilianfred
Ok cela fonctionne

Merci pour le coup de main

Lilianfred


"Daniel.C" a écrit dans le message de
news:OarMq$
Bonjour.
Ca fonctionne chez moi. Modifie cependant ton code come suit :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Sh.Name <> "Feuil1" And Sh.Name <> "Feuil2" Then Exit Sub
If Target.Address = "$K$1" And Target.Count = 1 Then
Application.EnableEvents = False
Application.Run "'essa1.xls'!jourWE"
Application.EnableEvents = True
End If
End Sub

Daniel

Bonsoir

Les dernières modifications apportées n'ont rien donné.
Je sèche un peu sur le sujet

Je me permet de joindre le dossier en question, peut être un coup d'oeuil
avisé pourra m'expliquer où je me suis trompé

Merci

Lilianfred

"Daniel.C" a écrit dans le message de
news:
Bonsoir.
Dans "thisworkbook" :
et pour les feuilles Feuil3 et Feuil4 (pour l'exemple) :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)

If Sh.Name <> "Feuil4" And Sh.Name <> "Feuil3" Then Exit Sub
If Target.Address = "$K$1" And Target.Count = 1 Then

Application.Run "'Classeur1.xlsm'!jourWE"

End If

End Sub

Cordialement.
Daniel

Bonsoir Daniel

Cette macro fonctionne bien sur la feuille où elle est inscrite et
lorsque le changement dans la cellule s'opère sur cette même feuille.

Je voudrai que cette macro s'exécute sur plusieurs feuilles du
classeur. Comment procéder? J'ai du loupé quelque chose;

Merci de ton aide

Lilianfred


"Daniel.C" a écrit dans le message de
news:
Bonjour.
Mets cette macro dans le module de la feuille Feuil4 :

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$K$1" And Target.Count = 1 Then

Application.Run "'Classeur1.xlsm'!jourWE"

End If

End Sub

Cordialement.
Daniel

Bonjour

Après avoir parcouru en long et travers un bonne partie des très bons
sites sur le sujet, je viens chercher de l'aide.

Je voudrai lancer une macro "jourWE", après avoir modifié la valeur
d'une cellule sur une feuille différente de celles où la macro va
intervenir.

Voici la macro que j'ai placé dans le "ThisWorkBook".

"Private Sub App_SheetChange(ByVal Sh As Object, _ ByVal Target As
Excel.Range)

If Target.Address = "Feuil4!$K$1" And Target.Count = 1 Then

Application.Run "'Classeur1.xlsm'!jourWE"

End If

End Sub"

Seulement, cela ne marche pas. Est-ce les bons codes?

Dois-je renseigner tous les "Worksheet" de chaque feuille pour que la
macro "jourWE" fonctionne dans chaque feuille du classeur?

Merci pour votre aide

Lilianfred