Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
bonjour à tous,
voilà mon problème
je souhaiterais déclencher une macro à chaque fois qu'une valeur est
modifiée dans une de mes feuilles.
Vous allez me dire : Facile, il y a qu'à utiliser l'événement
Worksheet_Change et le tour est joué.
Le problème c'est qu'il se peut que dans ma feuille plusieurs cellules
soient modifiées en même temps (en utilisant le copier coller par exemple)
et malheureusement l'événement Worksheet_Change ne se déclenche qu'une
fois et que pour la première cellule modifiée.
Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
merci
Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
bonjour à tous,
voilà mon problème
je souhaiterais déclencher une macro à chaque fois qu'une valeur est
modifiée dans une de mes feuilles.
Vous allez me dire : Facile, il y a qu'à utiliser l'événement
Worksheet_Change et le tour est joué.
Le problème c'est qu'il se peut que dans ma feuille plusieurs cellules
soient modifiées en même temps (en utilisant le copier coller par exemple)
et malheureusement l'événement Worksheet_Change ne se déclenche qu'une
fois et que pour la première cellule modifiée.
Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
merci
Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
bonjour à tous,
voilà mon problème
je souhaiterais déclencher une macro à chaque fois qu'une valeur est
modifiée dans une de mes feuilles.
Vous allez me dire : Facile, il y a qu'à utiliser l'événement
Worksheet_Change et le tour est joué.
Le problème c'est qu'il se peut que dans ma feuille plusieurs cellules
soient modifiées en même temps (en utilisant le copier coller par exemple)
et malheureusement l'événement Worksheet_Change ne se déclenche qu'une
fois et que pour la première cellule modifiée.
Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
merci
Bonjour,Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
par exemple, l'événement Worksheet_Change se déclenche au changement de
a1,a10,c1,c10
'------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Set plage = Range("a1,a10,c1,c10")
If Not Intersect(Target, plage) Is Nothing And Target.Count = 1 Then
MsgBox Target.Address
End If
End Sub
'--------------------------
Bonjour,
Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
par exemple, l'événement Worksheet_Change se déclenche au changement de
a1,a10,c1,c10
'------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Set plage = Range("a1,a10,c1,c10")
If Not Intersect(Target, plage) Is Nothing And Target.Count = 1 Then
MsgBox Target.Address
End If
End Sub
'--------------------------
Bonjour,Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
par exemple, l'événement Worksheet_Change se déclenche au changement de
a1,a10,c1,c10
'------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Set plage = Range("a1,a10,c1,c10")
If Not Intersect(Target, plage) Is Nothing And Target.Count = 1 Then
MsgBox Target.Address
End If
End Sub
'--------------------------
Bonjour,Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
par exemple, l'événement Worksheet_Change se déclenche au changement de
a1,a10,c1,c10
'------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Set plage = Range("a1,a10,c1,c10")
If Not Intersect(Target, plage) Is Nothing And Target.Count = 1 Then
MsgBox Target.Address
End If
End Sub
'--------------------------
Bonjour,
Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
par exemple, l'événement Worksheet_Change se déclenche au changement de
a1,a10,c1,c10
'------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Set plage = Range("a1,a10,c1,c10")
If Not Intersect(Target, plage) Is Nothing And Target.Count = 1 Then
MsgBox Target.Address
End If
End Sub
'--------------------------
Bonjour,Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
par exemple, l'événement Worksheet_Change se déclenche au changement de
a1,a10,c1,c10
'------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Set plage = Range("a1,a10,c1,c10")
If Not Intersect(Target, plage) Is Nothing And Target.Count = 1 Then
MsgBox Target.Address
End If
End Sub
'--------------------------
Merci jacky,
par contre je viens de me rendre compte que ça marche pas à tous les coups
je m'explique
Si ce qu'il y a dans ma cells(1,1) est copié dans les cells(10,1),
cells(11,1), cells(12,1) ça marche. Mon événement Worksheet_Change me
donne le bon nombre de target.count ainsi que les bonnes adresses des
cellules modifiées.
Par contre si je ne copie pas le contenu de ma cells(1,1) dans des
cellules adjacentes (par exemple si je copie dans les cellules
cells(10,1),cells(12,1), cells(14,1))mon événement Worksheet_Change me
donne le bon nombre de target.count mais pas les bonnes adresses des
cellules modifiées.(il donne les adresses des cells((10,1), cells(11,1) et
cells(12,1))
j'aurais loupé un truc ?
Jacky a écrit :Bonjour,Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
par exemple, l'événement Worksheet_Change se déclenche au changement de
a1,a10,c1,c10
'------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Set plage = Range("a1,a10,c1,c10")
If Not Intersect(Target, plage) Is Nothing And Target.Count = 1 Then
MsgBox Target.Address
End If
End Sub
'--------------------------
Merci jacky,
par contre je viens de me rendre compte que ça marche pas à tous les coups
je m'explique
Si ce qu'il y a dans ma cells(1,1) est copié dans les cells(10,1),
cells(11,1), cells(12,1) ça marche. Mon événement Worksheet_Change me
donne le bon nombre de target.count ainsi que les bonnes adresses des
cellules modifiées.
Par contre si je ne copie pas le contenu de ma cells(1,1) dans des
cellules adjacentes (par exemple si je copie dans les cellules
cells(10,1),cells(12,1), cells(14,1))mon événement Worksheet_Change me
donne le bon nombre de target.count mais pas les bonnes adresses des
cellules modifiées.(il donne les adresses des cells((10,1), cells(11,1) et
cells(12,1))
j'aurais loupé un truc ?
Jacky a écrit :
Bonjour,
Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
par exemple, l'événement Worksheet_Change se déclenche au changement de
a1,a10,c1,c10
'------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Set plage = Range("a1,a10,c1,c10")
If Not Intersect(Target, plage) Is Nothing And Target.Count = 1 Then
MsgBox Target.Address
End If
End Sub
'--------------------------
Merci jacky,
par contre je viens de me rendre compte que ça marche pas à tous les coups
je m'explique
Si ce qu'il y a dans ma cells(1,1) est copié dans les cells(10,1),
cells(11,1), cells(12,1) ça marche. Mon événement Worksheet_Change me
donne le bon nombre de target.count ainsi que les bonnes adresses des
cellules modifiées.
Par contre si je ne copie pas le contenu de ma cells(1,1) dans des
cellules adjacentes (par exemple si je copie dans les cellules
cells(10,1),cells(12,1), cells(14,1))mon événement Worksheet_Change me
donne le bon nombre de target.count mais pas les bonnes adresses des
cellules modifiées.(il donne les adresses des cells((10,1), cells(11,1) et
cells(12,1))
j'aurais loupé un truc ?
Jacky a écrit :Bonjour,Y a t-il une astuce pour prendre en compte le changement des autres
cellules ?
par exemple, l'événement Worksheet_Change se déclenche au changement de
a1,a10,c1,c10
'------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Set plage = Range("a1,a10,c1,c10")
If Not Intersect(Target, plage) Is Nothing And Target.Count = 1 Then
MsgBox Target.Address
End If
End Sub
'--------------------------
Re...
Je ne suis pas sur d'avoir compris ce que tu souhaites faire.
La copie d'une cellule comme démontrée dans le code exemple ne déclenche pas
l'événement Worksheet_Change.
Donne un exemple précis de ce que doit faire l'événement "Worksheet_Change"
d'une de ces cellules sur:
http://www.cijoint.fr/
Re...
Je ne suis pas sur d'avoir compris ce que tu souhaites faire.
La copie d'une cellule comme démontrée dans le code exemple ne déclenche pas
l'événement Worksheet_Change.
Donne un exemple précis de ce que doit faire l'événement "Worksheet_Change"
d'une de ces cellules sur:
http://www.cijoint.fr/
Re...
Je ne suis pas sur d'avoir compris ce que tu souhaites faire.
La copie d'une cellule comme démontrée dans le code exemple ne déclenche pas
l'événement Worksheet_Change.
Donne un exemple précis de ce que doit faire l'événement "Worksheet_Change"
d'une de ces cellules sur:
http://www.cijoint.fr/
voici le fichier.
http://www.cijoint.fr/cjlink.php?file=cj200909/cijmfMHlDa.xls
Jacky a écrit :Re...
Je ne suis pas sur d'avoir compris ce que tu souhaites faire.
La copie d'une cellule comme démontrée dans le code exemple ne
déclenche pas l'événement Worksheet_Change.
Donne un exemple précis de ce que doit faire l'événement
"Worksheet_Change" d'une de ces cellules sur:
http://www.cijoint.fr/
voici le fichier.
http://www.cijoint.fr/cjlink.php?file=cj200909/cijmfMHlDa.xls
Jacky a écrit :
Re...
Je ne suis pas sur d'avoir compris ce que tu souhaites faire.
La copie d'une cellule comme démontrée dans le code exemple ne
déclenche pas l'événement Worksheet_Change.
Donne un exemple précis de ce que doit faire l'événement
"Worksheet_Change" d'une de ces cellules sur:
http://www.cijoint.fr/
voici le fichier.
http://www.cijoint.fr/cjlink.php?file=cj200909/cijmfMHlDa.xls
Jacky a écrit :Re...
Je ne suis pas sur d'avoir compris ce que tu souhaites faire.
La copie d'une cellule comme démontrée dans le code exemple ne
déclenche pas l'événement Worksheet_Change.
Donne un exemple précis de ce que doit faire l'événement
"Worksheet_Change" d'une de ces cellules sur:
http://www.cijoint.fr/
Bonsoir,
Ça se complique ton affaire !
Est-ce qu'il peut arriver que tu copies, par exemple, en sélectionnant
A10, A12:A14 et A16 ?
Ou est-ce que tu copies soit sur une plage d'un seul tenant (A10:A16) soit
sur des cellules uniques séparées (A10, A12, A14, A16) ?
Dans le deuxième cas de figure on peut trouver une solution simple mais
dans le premier ça va être plus difficile.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Xavier a écrit :voici le fichier.
http://www.cijoint.fr/cjlink.php?file=cj200909/cijmfMHlDa.xls
Jacky a écrit :Re...
Je ne suis pas sur d'avoir compris ce que tu souhaites faire.
La copie d'une cellule comme démontrée dans le code exemple ne déclenche
pas l'événement Worksheet_Change.
Donne un exemple précis de ce que doit faire l'événement
"Worksheet_Change" d'une de ces cellules sur:
http://www.cijoint.fr/
Bonsoir,
Ça se complique ton affaire !
Est-ce qu'il peut arriver que tu copies, par exemple, en sélectionnant
A10, A12:A14 et A16 ?
Ou est-ce que tu copies soit sur une plage d'un seul tenant (A10:A16) soit
sur des cellules uniques séparées (A10, A12, A14, A16) ?
Dans le deuxième cas de figure on peut trouver une solution simple mais
dans le premier ça va être plus difficile.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Xavier a écrit :
voici le fichier.
http://www.cijoint.fr/cjlink.php?file=cj200909/cijmfMHlDa.xls
Jacky a écrit :
Re...
Je ne suis pas sur d'avoir compris ce que tu souhaites faire.
La copie d'une cellule comme démontrée dans le code exemple ne déclenche
pas l'événement Worksheet_Change.
Donne un exemple précis de ce que doit faire l'événement
"Worksheet_Change" d'une de ces cellules sur:
http://www.cijoint.fr/
Bonsoir,
Ça se complique ton affaire !
Est-ce qu'il peut arriver que tu copies, par exemple, en sélectionnant
A10, A12:A14 et A16 ?
Ou est-ce que tu copies soit sur une plage d'un seul tenant (A10:A16) soit
sur des cellules uniques séparées (A10, A12, A14, A16) ?
Dans le deuxième cas de figure on peut trouver une solution simple mais
dans le premier ça va être plus difficile.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Xavier a écrit :voici le fichier.
http://www.cijoint.fr/cjlink.php?file=cj200909/cijmfMHlDa.xls
Jacky a écrit :Re...
Je ne suis pas sur d'avoir compris ce que tu souhaites faire.
La copie d'une cellule comme démontrée dans le code exemple ne déclenche
pas l'événement Worksheet_Change.
Donne un exemple précis de ce que doit faire l'événement
"Worksheet_Change" d'une de ces cellules sur:
http://www.cijoint.fr/
Bonsoir,
Ça se complique ton affaire !
Est-ce qu'il peut arriver que tu copies, par exemple, en sélectionnant
A10, A12:A14 et A16 ?
Ou est-ce que tu copies soit sur une plage d'un seul tenant (A10:A16)
soit sur des cellules uniques séparées (A10, A12, A14, A16) ?
Dans le deuxième cas de figure on peut trouver une solution simple mais
dans le premier ça va être plus difficile.
FS
Bonsoir,
Ça se complique ton affaire !
Est-ce qu'il peut arriver que tu copies, par exemple, en sélectionnant
A10, A12:A14 et A16 ?
Ou est-ce que tu copies soit sur une plage d'un seul tenant (A10:A16)
soit sur des cellules uniques séparées (A10, A12, A14, A16) ?
Dans le deuxième cas de figure on peut trouver une solution simple mais
dans le premier ça va être plus difficile.
FS
Bonsoir,
Ça se complique ton affaire !
Est-ce qu'il peut arriver que tu copies, par exemple, en sélectionnant
A10, A12:A14 et A16 ?
Ou est-ce que tu copies soit sur une plage d'un seul tenant (A10:A16)
soit sur des cellules uniques séparées (A10, A12, A14, A16) ?
Dans le deuxième cas de figure on peut trouver une solution simple mais
dans le premier ça va être plus difficile.
FS
Bonsoir Fréderic,
A un moment j'ai pensé à un "Application.InputBox("Sélectionnez une
cellule", Type:=8)" pour la plage à coller
à condition qu'il n'y ait qu'un copier à la fois.
Je n'arrive pas a séparer les plages de cette sélection
exemple :
Set CelluleAcoller = Application.InputBox("Sélectionnez une cellule",
Type:=8)
pour une sélection de (A10, A12, A14, A16)
msgbox CelluleAcoller.address retourne $A$10, $A$12, $A$14, $A$16 sur une
ligne
As-tu une solution pour récupérer $a$10 dans une cellule et $a$12 dans une
autre, etc..??
Bonsoir Fréderic,
A un moment j'ai pensé à un "Application.InputBox("Sélectionnez une
cellule", Type:=8)" pour la plage à coller
à condition qu'il n'y ait qu'un copier à la fois.
Je n'arrive pas a séparer les plages de cette sélection
exemple :
Set CelluleAcoller = Application.InputBox("Sélectionnez une cellule",
Type:=8)
pour une sélection de (A10, A12, A14, A16)
msgbox CelluleAcoller.address retourne $A$10, $A$12, $A$14, $A$16 sur une
ligne
As-tu une solution pour récupérer $a$10 dans une cellule et $a$12 dans une
autre, etc..??
Bonsoir Fréderic,
A un moment j'ai pensé à un "Application.InputBox("Sélectionnez une
cellule", Type:=8)" pour la plage à coller
à condition qu'il n'y ait qu'un copier à la fois.
Je n'arrive pas a séparer les plages de cette sélection
exemple :
Set CelluleAcoller = Application.InputBox("Sélectionnez une cellule",
Type:=8)
pour une sélection de (A10, A12, A14, A16)
msgbox CelluleAcoller.address retourne $A$10, $A$12, $A$14, $A$16 sur une
ligne
As-tu une solution pour récupérer $a$10 dans une cellule et $a$12 dans une
autre, etc..??
bonsoir frederic,
ben oui je crains que cela se complique car je peux copier une cellule
vers plusieurs celles en même temps mais qui peuvent être répartie
aléatoirement A10, A16, A17, A32,...
Je pensais (naïvement) que le range target de l'événement Worksheet_Change
avait les références de toutes les cellules modifiées mais bizarement il
me sort le bon nombre mais pas les bonnes références (sauf quand les
cellules modifiées sont adjacentes). Bug d'Excel ?
Pensez vous qu'il existe une solution ou dois je abandonner l'idée
d'utiliser l'événement Worksheet_change pour répondre à mon pb?
Merci pour tout
Xavier
FS a écrit :Bonsoir,
Ça se complique ton affaire !
Est-ce qu'il peut arriver que tu copies, par exemple, en sélectionnant
A10, A12:A14 et A16 ?
Ou est-ce que tu copies soit sur une plage d'un seul tenant (A10:A16)
soit sur des cellules uniques séparées (A10, A12, A14, A16) ?
Dans le deuxième cas de figure on peut trouver une solution simple mais
dans le premier ça va être plus difficile.
FS
bonsoir frederic,
ben oui je crains que cela se complique car je peux copier une cellule
vers plusieurs celles en même temps mais qui peuvent être répartie
aléatoirement A10, A16, A17, A32,...
Je pensais (naïvement) que le range target de l'événement Worksheet_Change
avait les références de toutes les cellules modifiées mais bizarement il
me sort le bon nombre mais pas les bonnes références (sauf quand les
cellules modifiées sont adjacentes). Bug d'Excel ?
Pensez vous qu'il existe une solution ou dois je abandonner l'idée
d'utiliser l'événement Worksheet_change pour répondre à mon pb?
Merci pour tout
Xavier
FS a écrit :
Bonsoir,
Ça se complique ton affaire !
Est-ce qu'il peut arriver que tu copies, par exemple, en sélectionnant
A10, A12:A14 et A16 ?
Ou est-ce que tu copies soit sur une plage d'un seul tenant (A10:A16)
soit sur des cellules uniques séparées (A10, A12, A14, A16) ?
Dans le deuxième cas de figure on peut trouver une solution simple mais
dans le premier ça va être plus difficile.
FS
bonsoir frederic,
ben oui je crains que cela se complique car je peux copier une cellule
vers plusieurs celles en même temps mais qui peuvent être répartie
aléatoirement A10, A16, A17, A32,...
Je pensais (naïvement) que le range target de l'événement Worksheet_Change
avait les références de toutes les cellules modifiées mais bizarement il
me sort le bon nombre mais pas les bonnes références (sauf quand les
cellules modifiées sont adjacentes). Bug d'Excel ?
Pensez vous qu'il existe une solution ou dois je abandonner l'idée
d'utiliser l'événement Worksheet_change pour répondre à mon pb?
Merci pour tout
Xavier
FS a écrit :Bonsoir,
Ça se complique ton affaire !
Est-ce qu'il peut arriver que tu copies, par exemple, en sélectionnant
A10, A12:A14 et A16 ?
Ou est-ce que tu copies soit sur une plage d'un seul tenant (A10:A16)
soit sur des cellules uniques séparées (A10, A12, A14, A16) ?
Dans le deuxième cas de figure on peut trouver une solution simple mais
dans le premier ça va être plus difficile.
FS