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
Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les cellules
qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en adoptant un
autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les cellules
qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en adoptant un
autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les cellules
qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en adoptant un
autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
> Comment sont stockées les infos dans target?
ben c'est génial, tout simplement génial.
j'ai pas compris pourquoi
For i = 1 To Target.Count
Cells(i, 3) = Target(i).Address
Next
marche pas
alors que
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
marche
Comment sont stockées les infos dans target?
En tout cas merci c'est le top pour moi
FS a écrit :Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les
cellules qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en adoptant
un autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
> Comment sont stockées les infos dans target?
ben c'est génial, tout simplement génial.
j'ai pas compris pourquoi
For i = 1 To Target.Count
Cells(i, 3) = Target(i).Address
Next
marche pas
alors que
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
marche
Comment sont stockées les infos dans target?
En tout cas merci c'est le top pour moi
FS a écrit :
Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les
cellules qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en adoptant
un autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
> Comment sont stockées les infos dans target?
ben c'est génial, tout simplement génial.
j'ai pas compris pourquoi
For i = 1 To Target.Count
Cells(i, 3) = Target(i).Address
Next
marche pas
alors que
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
marche
Comment sont stockées les infos dans target?
En tout cas merci c'est le top pour moi
FS a écrit :Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les
cellules qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en adoptant
un autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
> Comment sont stockées les infos dans target?
Bonne question. La différence de renvoi entre une boucle For..Next et une
boucle For Each..Next se constate avec tous les objets Range pas
uniquement Target ou Selection :
Sub essai()
Dim Plage As Range, i&
Set Plage = Range("A10,A12:A14,A16")
MsgBox "For...next"
For i = 1 To Plage.Count
MsgBox Plage(i).Address
Next
MsgBox "For each...next"
For Each cell In Plage
MsgBox cell.Address
Next
End Sub
Je n'ai pas trouvé dans l'aide de raison à cette différence de résultat,
sinon que la boucle For Each semble inclure dans sa définition le
traitement de collections (et donc d'objets). Mais c'est un peu léger,
trouve-je.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Xavier a écrit :ben c'est génial, tout simplement génial.
j'ai pas compris pourquoi
For i = 1 To Target.Count
Cells(i, 3) = Target(i).Address
Next
marche pas
alors que
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
marche
Comment sont stockées les infos dans target?
En tout cas merci c'est le top pour moi
FS a écrit :Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les cellules
qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en adoptant un
autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
> Comment sont stockées les infos dans target?
Bonne question. La différence de renvoi entre une boucle For..Next et une
boucle For Each..Next se constate avec tous les objets Range pas
uniquement Target ou Selection :
Sub essai()
Dim Plage As Range, i&
Set Plage = Range("A10,A12:A14,A16")
MsgBox "For...next"
For i = 1 To Plage.Count
MsgBox Plage(i).Address
Next
MsgBox "For each...next"
For Each cell In Plage
MsgBox cell.Address
Next
End Sub
Je n'ai pas trouvé dans l'aide de raison à cette différence de résultat,
sinon que la boucle For Each semble inclure dans sa définition le
traitement de collections (et donc d'objets). Mais c'est un peu léger,
trouve-je.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Xavier a écrit :
ben c'est génial, tout simplement génial.
j'ai pas compris pourquoi
For i = 1 To Target.Count
Cells(i, 3) = Target(i).Address
Next
marche pas
alors que
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
marche
Comment sont stockées les infos dans target?
En tout cas merci c'est le top pour moi
FS a écrit :
Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les cellules
qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en adoptant un
autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
> Comment sont stockées les infos dans target?
Bonne question. La différence de renvoi entre une boucle For..Next et une
boucle For Each..Next se constate avec tous les objets Range pas
uniquement Target ou Selection :
Sub essai()
Dim Plage As Range, i&
Set Plage = Range("A10,A12:A14,A16")
MsgBox "For...next"
For i = 1 To Plage.Count
MsgBox Plage(i).Address
Next
MsgBox "For each...next"
For Each cell In Plage
MsgBox cell.Address
Next
End Sub
Je n'ai pas trouvé dans l'aide de raison à cette différence de résultat,
sinon que la boucle For Each semble inclure dans sa définition le
traitement de collections (et donc d'objets). Mais c'est un peu léger,
trouve-je.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Xavier a écrit :ben c'est génial, tout simplement génial.
j'ai pas compris pourquoi
For i = 1 To Target.Count
Cells(i, 3) = Target(i).Address
Next
marche pas
alors que
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
marche
Comment sont stockées les infos dans target?
En tout cas merci c'est le top pour moi
FS a écrit :Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les cellules
qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en adoptant un
autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
> Comment sont stockées les infos dans target?
Bonne question. La différence de renvoi entre une boucle For..Next et une
boucle For Each..Next se constate avec tous les objets Range pas uniquement
Target ou Selection :
Sub essai()
Dim Plage As Range, i&
Set Plage = Range("A10,A12:A14,A16")
MsgBox "For...next"
For i = 1 To Plage.Count
MsgBox Plage(i).Address
Next
MsgBox "For each...next"
For Each cell In Plage
MsgBox cell.Address
Next
End Sub
Je n'ai pas trouvé dans l'aide de raison à cette différence de résultat,
sinon que la boucle For Each semble inclure dans sa définition le traitement
de collections (et donc d'objets). Mais c'est un peu léger, trouve-je.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Xavier a écrit :ben c'est génial, tout simplement génial.
j'ai pas compris pourquoi
For i = 1 To Target.Count
Cells(i, 3) = Target(i).Address
Next
marche pas
alors que
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
marche
Comment sont stockées les infos dans target?
En tout cas merci c'est le top pour moi
FS a écrit :Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les cellules
qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en adoptant un
autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
> Comment sont stockées les infos dans target?
Bonne question. La différence de renvoi entre une boucle For..Next et une
boucle For Each..Next se constate avec tous les objets Range pas uniquement
Target ou Selection :
Sub essai()
Dim Plage As Range, i&
Set Plage = Range("A10,A12:A14,A16")
MsgBox "For...next"
For i = 1 To Plage.Count
MsgBox Plage(i).Address
Next
MsgBox "For each...next"
For Each cell In Plage
MsgBox cell.Address
Next
End Sub
Je n'ai pas trouvé dans l'aide de raison à cette différence de résultat,
sinon que la boucle For Each semble inclure dans sa définition le traitement
de collections (et donc d'objets). Mais c'est un peu léger, trouve-je.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Xavier a écrit :
ben c'est génial, tout simplement génial.
j'ai pas compris pourquoi
For i = 1 To Target.Count
Cells(i, 3) = Target(i).Address
Next
marche pas
alors que
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
marche
Comment sont stockées les infos dans target?
En tout cas merci c'est le top pour moi
FS a écrit :
Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les cellules
qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en adoptant un
autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
> Comment sont stockées les infos dans target?
Bonne question. La différence de renvoi entre une boucle For..Next et une
boucle For Each..Next se constate avec tous les objets Range pas uniquement
Target ou Selection :
Sub essai()
Dim Plage As Range, i&
Set Plage = Range("A10,A12:A14,A16")
MsgBox "For...next"
For i = 1 To Plage.Count
MsgBox Plage(i).Address
Next
MsgBox "For each...next"
For Each cell In Plage
MsgBox cell.Address
Next
End Sub
Je n'ai pas trouvé dans l'aide de raison à cette différence de résultat,
sinon que la boucle For Each semble inclure dans sa définition le traitement
de collections (et donc d'objets). Mais c'est un peu léger, trouve-je.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Xavier a écrit :ben c'est génial, tout simplement génial.
j'ai pas compris pourquoi
For i = 1 To Target.Count
Cells(i, 3) = Target(i).Address
Next
marche pas
alors que
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
marche
Comment sont stockées les infos dans target?
En tout cas merci c'est le top pour moi
FS a écrit :Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les cellules
qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en adoptant un
autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
Bonjour.
La différence semble venir du nombre d'areas de la plage, pas du type de
boucle :
Sub test()
Dim Plage As Range, i&
Set Plage = Range("A10,A12:A14,A16")
For j = 1 To Plage.Areas.Count
For i = 1 To Plage.Areas(j).Count
MsgBox Plage.Areas(j)(i).Address
Next i
Next j
End Sub
Cordialement.
Daniel> Comment sont stockées les infos dans target?
Bonne question. La différence de renvoi entre une boucle For..Next et
une boucle For Each..Next se constate avec tous les objets Range pas
uniquement Target ou Selection :
Sub essai()
Dim Plage As Range, i&
Set Plage = Range("A10,A12:A14,A16")
MsgBox "For...next"
For i = 1 To Plage.Count
MsgBox Plage(i).Address
Next
MsgBox "For each...next"
For Each cell In Plage
MsgBox cell.Address
Next
End Sub
Je n'ai pas trouvé dans l'aide de raison à cette différence de
résultat, sinon que la boucle For Each semble inclure dans sa
définition le traitement de collections (et donc d'objets). Mais c'est
un peu léger, trouve-je.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Xavier a écrit :ben c'est génial, tout simplement génial.
j'ai pas compris pourquoi
For i = 1 To Target.Count
Cells(i, 3) = Target(i).Address
Next
marche pas
alors que
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
marche
Comment sont stockées les infos dans target?
En tout cas merci c'est le top pour moi
FS a écrit :Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les
cellules qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en
adoptant un autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
Bonjour.
La différence semble venir du nombre d'areas de la plage, pas du type de
boucle :
Sub test()
Dim Plage As Range, i&
Set Plage = Range("A10,A12:A14,A16")
For j = 1 To Plage.Areas.Count
For i = 1 To Plage.Areas(j).Count
MsgBox Plage.Areas(j)(i).Address
Next i
Next j
End Sub
Cordialement.
Daniel
> Comment sont stockées les infos dans target?
Bonne question. La différence de renvoi entre une boucle For..Next et
une boucle For Each..Next se constate avec tous les objets Range pas
uniquement Target ou Selection :
Sub essai()
Dim Plage As Range, i&
Set Plage = Range("A10,A12:A14,A16")
MsgBox "For...next"
For i = 1 To Plage.Count
MsgBox Plage(i).Address
Next
MsgBox "For each...next"
For Each cell In Plage
MsgBox cell.Address
Next
End Sub
Je n'ai pas trouvé dans l'aide de raison à cette différence de
résultat, sinon que la boucle For Each semble inclure dans sa
définition le traitement de collections (et donc d'objets). Mais c'est
un peu léger, trouve-je.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Xavier a écrit :
ben c'est génial, tout simplement génial.
j'ai pas compris pourquoi
For i = 1 To Target.Count
Cells(i, 3) = Target(i).Address
Next
marche pas
alors que
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
marche
Comment sont stockées les infos dans target?
En tout cas merci c'est le top pour moi
FS a écrit :
Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les
cellules qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en
adoptant un autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS
Bonjour.
La différence semble venir du nombre d'areas de la plage, pas du type de
boucle :
Sub test()
Dim Plage As Range, i&
Set Plage = Range("A10,A12:A14,A16")
For j = 1 To Plage.Areas.Count
For i = 1 To Plage.Areas(j).Count
MsgBox Plage.Areas(j)(i).Address
Next i
Next j
End Sub
Cordialement.
Daniel> Comment sont stockées les infos dans target?
Bonne question. La différence de renvoi entre une boucle For..Next et
une boucle For Each..Next se constate avec tous les objets Range pas
uniquement Target ou Selection :
Sub essai()
Dim Plage As Range, i&
Set Plage = Range("A10,A12:A14,A16")
MsgBox "For...next"
For i = 1 To Plage.Count
MsgBox Plage(i).Address
Next
MsgBox "For each...next"
For Each cell In Plage
MsgBox cell.Address
Next
End Sub
Je n'ai pas trouvé dans l'aide de raison à cette différence de
résultat, sinon que la boucle For Each semble inclure dans sa
définition le traitement de collections (et donc d'objets). Mais c'est
un peu léger, trouve-je.
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
Xavier a écrit :ben c'est génial, tout simplement génial.
j'ai pas compris pourquoi
For i = 1 To Target.Count
Cells(i, 3) = Target(i).Address
Next
marche pas
alors que
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
marche
Comment sont stockées les infos dans target?
En tout cas merci c'est le top pour moi
FS a écrit :Bonjour,
La nuit portant conseil, je pense que je me compliquais la vie plus
qu'Excel. Target conserve en effet les références de toutes les
cellules qui le composent.
Le premier code de Jacky pourrait donc être adapté ainsi, en
adoptant un autre type de boucle :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, i&
Application.EnableEvents = False
Columns(3).Clear
Columns(4).Clear
For Each cell In Target
i = i + 1
Cells(i, 3) = cell.Address
Next
Application.EnableEvents = True
End Sub
Est-ce que ça répond mieux à ton besoin ?
FS