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

Changement valeur d'une cellule (avec formule) = execution d'une macro automatiquement

5 réponses
Avatar
News
Bonjour à tous,

J'aimerai exécuter une macro lorsque la valeur d'une cellule change.
Le problème est que la cellule contient une formule et ma macro ne
fonctionne pas (sauf si je change moi meme la valeur ce que je ne souhaite
pas)

Voici mon code (qui ne fonctionne pas)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("G12").Address Then
Call Macro3
End If
End Sub

Merci beaucoup de votre aide
Olivier

5 réponses

Avatar
Youky
Bonsoir Olivier,
Plusieurs étapes sont nécessaires,

en worksheet






Private Sub Worksheet_Change(ByVal Target As Range)
If nom <> [G12].Value Then
nom = [G12]
Call macro3
End If
End Sub

en This workbook








Private Sub Workbook_Open()
test
End Sub

dans un module(module1 par exemple)






Public nom
Sub test()
nom = Feuil1.[G12]
End Sub

Youky


"News" a écrit dans le message de news:
48d93669$0$6029$
Bonjour à tous,

J'aimerai exécuter une macro lorsque la valeur d'une cellule change.
Le problème est que la cellule contient une formule et ma macro ne
fonctionne pas (sauf si je change moi meme la valeur ce que je ne souhaite
pas)

Voici mon code (qui ne fonctionne pas)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("G12").Address Then
Call Macro3
End If
End Sub

Merci beaucoup de votre aide
Olivier



Avatar
News
Merci BeaucoupYouky

Mais ma macro tourne en boucle et il faudrait qu'elle ne s'éxécute qu'une
fois à chaque changement

Merci de ton aide

Olivier



"Youky" a écrit dans le message de news:

Bonsoir Olivier,
Plusieurs étapes sont nécessaires,

en worksheet






Private Sub Worksheet_Change(ByVal Target As Range)
If nom <> [G12].Value Then
nom = [G12]
Call macro3
End If
End Sub

en This workbook








Private Sub Workbook_Open()
test
End Sub

dans un module(module1 par exemple)






Public nom
Sub test()
nom = Feuil1.[G12]
End Sub

Youky


"News" a écrit dans le message de news:
48d93669$0$6029$
Bonjour à tous,

J'aimerai exécuter une macro lorsque la valeur d'une cellule change.
Le problème est que la cellule contient une formule et ma macro ne
fonctionne pas (sauf si je change moi meme la valeur ce que je ne
souhaite pas)

Voici mon code (qui ne fonctionne pas)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("G12").Address Then
Call Macro3
End If
End Sub

Merci beaucoup de votre aide
Olivier







Avatar
Youky
La macro telle que j'ai fais ne tourne pas en boucle à moins que la Macro3
change la valeur de [G12]
si c'est le cas en Macro3, avant de lui indiquer les nouvelles valeurs mets
Application.EnableEventsúlse
'faire le changement
Application.EnableEvents=True

on supprime les événements et on les remets aprés modif c'est simple........

Youky
"News" a écrit dans le message de news:
48d9473c$0$13987$
Merci BeaucoupYouky

Mais ma macro tourne en boucle et il faudrait qu'elle ne s'éxécute qu'une
fois à chaque changement

Merci de ton aide

Olivier



"Youky" a écrit dans le message de news:

Bonsoir Olivier,
Plusieurs étapes sont nécessaires,

en worksheet






Private Sub Worksheet_Change(ByVal Target As Range)
If nom <> [G12].Value Then
nom = [G12]
Call macro3
End If
End Sub

en This workbook








Private Sub Workbook_Open()
test
End Sub

dans un module(module1 par exemple)






Public nom
Sub test()
nom = Feuil1.[G12]
End Sub

Youky


"News" a écrit dans le message de news:
48d93669$0$6029$
Bonjour à tous,

J'aimerai exécuter une macro lorsque la valeur d'une cellule change.
Le problème est que la cellule contient une formule et ma macro ne
fonctionne pas (sauf si je change moi meme la valeur ce que je ne
souhaite pas)

Voici mon code (qui ne fonctionne pas)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("G12").Address Then
Call Macro3
End If
End Sub

Merci beaucoup de votre aide
Olivier











Avatar
Youky
Petit oubli...
Application.EnableEventsúlse
'faire le changement des valeurs
nomþuil1.[G12] 'ceci en plus
Application.EnableEvents=True

et enregistrer et fermer et reouvrir le fichier pour que la variable "nom"
soit bien prise en compte.
Youky

"Youky" a écrit dans le message de news:
ufNj$
La macro telle que j'ai fais ne tourne pas en boucle à moins que la Macro3
change la valeur de [G12]
si c'est le cas en Macro3, avant de lui indiquer les nouvelles valeurs
mets
Application.EnableEventsúlse
'faire le changement
Application.EnableEvents=True

on supprime les événements et on les remets aprés modif c'est
simple........

Youky
"News" a écrit dans le message de news:
48d9473c$0$13987$
Merci BeaucoupYouky

Mais ma macro tourne en boucle et il faudrait qu'elle ne s'éxécute qu'une
fois à chaque changement

Merci de ton aide

Olivier



"Youky" a écrit dans le message de news:

Bonsoir Olivier,
Plusieurs étapes sont nécessaires,

en worksheet






Private Sub Worksheet_Change(ByVal Target As Range)
If nom <> [G12].Value Then
nom = [G12]
Call macro3
End If
End Sub

en This workbook








Private Sub Workbook_Open()
test
End Sub

dans un module(module1 par exemple)






Public nom
Sub test()
nom = Feuil1.[G12]
End Sub

Youky


"News" a écrit dans le message de news:
48d93669$0$6029$
Bonjour à tous,

J'aimerai exécuter une macro lorsque la valeur d'une cellule change.
Le problème est que la cellule contient une formule et ma macro ne
fonctionne pas (sauf si je change moi meme la valeur ce que je ne
souhaite pas)

Voici mon code (qui ne fonctionne pas)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("G12").Address Then
Call Macro3
End If
End Sub

Merci beaucoup de votre aide
Olivier















Avatar
macrom81
Youky a écrit le 23/09/2008 à 21h29 :
Bonsoir Olivier,
Plusieurs étapes sont nécessaires,

en worksheet









Private Sub Worksheet_Change(ByVal Target As Range)
If nom <> [G12].Value Then
nom = [G12]
Call macro3
End If
End Sub

en This workbook












Private Sub Workbook_Open()
test
End Sub

dans un module(module1 par exemple)









Public nom
Sub test()
nom = Feuil1.[G12]
End Sub

Youky


"News" a écrit dans le message de
news:
48d93669$0$6029$
Bonjour à tous,

J'aimerai exécuter une macro lorsque la valeur d'une cellule change.
Le problème est que la cellule contient une formule et ma macro ne
fonctionne pas (sauf si je change moi meme la valeur ce que je ne souhaite
pas)

Voici mon code (qui ne fonctionne pas)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("G12").Address Then
Call Macro3
End If
End Sub

Merci beaucoup de votre aide
Olivier






Bonjour,

Je début dans le vba, j'ai essayé d'adapter les formules à mon fichier excel cependant je n y arrive pas.
Que représente "nom nom", "test" " public nom"

Merci d'avance pour vos réponse

Cordialement