Bonjour,
1
je souhaite lancer une proc lorsque je clique dans une place de cellule de
A2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Dans le module de la feuille : Private Sub Worksheet_SelectionChange(ByVal zz As Range) If Intersect(zz, [A2:A10]) Is Nothing Then macro2 Else macro1 End Sub
Sub macro1() MsgBox "je suis en A2:A10" End Sub
Sub macro2() MsgBox "je ne suis pas en A2:A10" End Sub
AV
Dans le module de la feuille :
Private Sub Worksheet_SelectionChange(ByVal zz As Range)
If Intersect(zz, [A2:A10]) Is Nothing Then macro2 Else macro1
End Sub
Sub macro1()
MsgBox "je suis en A2:A10"
End Sub
Sub macro2()
MsgBox "je ne suis pas en A2:A10"
End Sub
Dans le module de la feuille : Private Sub Worksheet_SelectionChange(ByVal zz As Range) If Intersect(zz, [A2:A10]) Is Nothing Then macro2 Else macro1 End Sub
Sub macro1() MsgBox "je suis en A2:A10" End Sub
Sub macro2() MsgBox "je ne suis pas en A2:A10" End Sub
AV
Philippe.R
Bonjour Alpha, En essayant de tenir compte des observations de mes Maîtres, je propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a2:a10")) Is Nothing Then MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du message Else MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message End If End Sub
-- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Alpha" a écrit dans le message de news:%
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule de A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous Alpha
Bonjour Alpha,
En essayant de tenir compte des observations de mes Maîtres, je propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("a2:a10")) Is Nothing Then
MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du message
Else
MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message
End If
End Sub
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Alpha" <Alpha@ducentaure.fr> a écrit dans le message de news:%23ynBU4xtDHA.2520@TK2MSFTNGP10.phx.gbl...
Bonjour,
1
je souhaite lancer une proc lorsque je clique dans une place de cellule de
A2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Bonjour Alpha, En essayant de tenir compte des observations de mes Maîtres, je propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a2:a10")) Is Nothing Then MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du message Else MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message End If End Sub
-- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Alpha" a écrit dans le message de news:%
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule de A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous Alpha
Alpha
Merci beaucoup, c'est très clair. Alpha
"AV" a écrit dans le message de news:
Dans le module de la feuille : Private Sub Worksheet_SelectionChange(ByVal zz As Range) If Intersect(zz, [A2:A10]) Is Nothing Then macro2 Else macro1 End Sub
Sub macro1() MsgBox "je suis en A2:A10" End Sub
Sub macro2() MsgBox "je ne suis pas en A2:A10" End Sub
AV
Merci beaucoup, c'est très clair.
Alpha
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de news:
OWJY2DytDHA.2224@TK2MSFTNGP09.phx.gbl...
Dans le module de la feuille :
Private Sub Worksheet_SelectionChange(ByVal zz As Range)
If Intersect(zz, [A2:A10]) Is Nothing Then macro2 Else macro1
End Sub
Sub macro1()
MsgBox "je suis en A2:A10"
End Sub
Sub macro2()
MsgBox "je ne suis pas en A2:A10"
End Sub
Dans le module de la feuille : Private Sub Worksheet_SelectionChange(ByVal zz As Range) If Intersect(zz, [A2:A10]) Is Nothing Then macro2 Else macro1 End Sub
Sub macro1() MsgBox "je suis en A2:A10" End Sub
Sub macro2() MsgBox "je ne suis pas en A2:A10" End Sub
AV
Alpha
Merci beaucoup Philippe, c'est très bien également. Alpha
"Philippe.R" a écrit dans le message de news:
Bonjour Alpha, En essayant de tenir compte des observations de mes Maîtres, je propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a2:a10")) Is Nothing Then MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du message Else MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message End If End Sub
-- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Alpha" a écrit dans le message de news:%
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule de
A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous Alpha
Merci beaucoup Philippe, c'est très bien également.
Alpha
"Philippe.R" <A_S_rauphil@wanadoo.fr> a écrit dans le message de news:
eAP7XGytDHA.3196@TK2MSFTNGP11.phx.gbl...
Bonjour Alpha,
En essayant de tenir compte des observations de mes Maîtres, je propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("a2:a10")) Is Nothing Then
MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du message
Else
MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message
End If
End Sub
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Alpha" <Alpha@ducentaure.fr> a écrit dans le message de
news:%23ynBU4xtDHA.2520@TK2MSFTNGP10.phx.gbl...
Bonjour,
1
je souhaite lancer une proc lorsque je clique dans une place de cellule
de
A2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci beaucoup Philippe, c'est très bien également. Alpha
"Philippe.R" a écrit dans le message de news:
Bonjour Alpha, En essayant de tenir compte des observations de mes Maîtres, je propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a2:a10")) Is Nothing Then MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du message Else MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message End If End Sub
-- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Alpha" a écrit dans le message de news:%
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule de
A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
C'était vraiment avec plaisir Alpha ! -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002
"Alpha" a écrit dans le message de news:
Merci beaucoup Philippe, c'est très bien également. Alpha
"Philippe.R" a écrit dans le message de news:
Bonjour Alpha, En essayant de tenir compte des observations de mes Maîtres, je propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a2:a10")) Is Nothing Then MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du message Else MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message End If End Sub
-- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Alpha" a écrit dans le message de news:%
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule de
A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous Alpha
C'était vraiment avec plaisir Alpha !
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
"Alpha" <Alpha@ducentaure.fr> a écrit dans le message de news:OYYoOKytDHA.540@tk2msftngp13.phx.gbl...
Merci beaucoup Philippe, c'est très bien également.
Alpha
"Philippe.R" <A_S_rauphil@wanadoo.fr> a écrit dans le message de news:
eAP7XGytDHA.3196@TK2MSFTNGP11.phx.gbl...
Bonjour Alpha,
En essayant de tenir compte des observations de mes Maîtres, je propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("a2:a10")) Is Nothing Then
MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du message
Else
MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message
End If
End Sub
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Alpha" <Alpha@ducentaure.fr> a écrit dans le message de
news:%23ynBU4xtDHA.2520@TK2MSFTNGP10.phx.gbl...
Bonjour,
1
je souhaite lancer une proc lorsque je clique dans une place de cellule
de
A2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
C'était vraiment avec plaisir Alpha ! -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002
"Alpha" a écrit dans le message de news:
Merci beaucoup Philippe, c'est très bien également. Alpha
"Philippe.R" a écrit dans le message de news:
Bonjour Alpha, En essayant de tenir compte des observations de mes Maîtres, je propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a2:a10")) Is Nothing Then MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du message Else MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message End If End Sub
-- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Alpha" a écrit dans le message de news:%
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule de
A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous Alpha
Michel Gaboly
Bonjour Alpha,
Je t'avais proposoé hier soir, les événements BeforeDoubleClick ou BeforeRightClick, car SelectionChange est moins précis : si tu sélectionnes la colonne A, ou si t sélectionnes la plage A5:H12 en ayant cliqué en H12 et étendu la séletion, ... le Intersect renverra True, sans qu'ait eu lieu un clic dans lune des cellules concernées.
Si tu veux repérer la sortie de A1:A10 ("quand je quitte"), je te propose d'utiliser un nom pour stocker l'emplacement du double clic précédent, ce qui permet :
Double clic dans une cellule de la plage A1:A10 --> Macro1
Double clic ailleurs ; si le double clic précédent était en A1:A10, --> Macro2. Si le double clic précédent était déjà hors de A1:A10, pas de traitement.
Avec BeforeDoubleClick (Mais si SelectionChange te suffit, l'adap- tation est aisée). ;-))
Pour le double Clic :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean) Dim a As Range Debug.Print ActiveSheet.[Lieu] If Not Intersect(Range("A1:A10"), Target) Is Nothing Then ActiveSheet.Names.Add "Lieu", "Dedans" Macro1 Else ' Test lieu double clic précédent If ActiveSheet.[Lieu] = "Dedans" Then Macro2 End If ActiveSheet.Names.Add "Lieu", "Dehors" End If End Sub
Private Sub Macro1() MsgBox 1 End Sub
Private Sub Macro2() MsgBox 2 End Sub
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule de A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous Alpha
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonjour Alpha,
Je t'avais proposoé hier soir, les événements BeforeDoubleClick ou
BeforeRightClick, car SelectionChange est moins précis : si tu
sélectionnes la colonne A, ou si t sélectionnes la plage A5:H12 en
ayant cliqué en H12 et étendu la séletion, ... le Intersect renverra
True, sans qu'ait eu lieu un clic dans lune des cellules concernées.
Si tu veux repérer la sortie de A1:A10 ("quand je quitte"), je te
propose d'utiliser un nom pour stocker l'emplacement du double clic
précédent, ce qui permet :
Double clic dans une cellule de la plage A1:A10 --> Macro1
Double clic ailleurs ; si le double clic précédent était en A1:A10,
--> Macro2. Si le double clic précédent était déjà hors de A1:A10,
pas de traitement.
Avec BeforeDoubleClick (Mais si SelectionChange te suffit, l'adap-
tation est aisée). ;-))
Pour le double Clic :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
Dim a As Range
Debug.Print ActiveSheet.[Lieu]
If Not Intersect(Range("A1:A10"), Target) Is Nothing Then
ActiveSheet.Names.Add "Lieu", "Dedans"
Macro1
Else
' Test lieu double clic précédent
If ActiveSheet.[Lieu] = "Dedans" Then
Macro2
End If
ActiveSheet.Names.Add "Lieu", "Dehors"
End If
End Sub
Private Sub Macro1()
MsgBox 1
End Sub
Private Sub Macro2()
MsgBox 2
End Sub
Bonjour,
1
je souhaite lancer une proc lorsque je clique dans une place de cellule de
A2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Je t'avais proposoé hier soir, les événements BeforeDoubleClick ou BeforeRightClick, car SelectionChange est moins précis : si tu sélectionnes la colonne A, ou si t sélectionnes la plage A5:H12 en ayant cliqué en H12 et étendu la séletion, ... le Intersect renverra True, sans qu'ait eu lieu un clic dans lune des cellules concernées.
Si tu veux repérer la sortie de A1:A10 ("quand je quitte"), je te propose d'utiliser un nom pour stocker l'emplacement du double clic précédent, ce qui permet :
Double clic dans une cellule de la plage A1:A10 --> Macro1
Double clic ailleurs ; si le double clic précédent était en A1:A10, --> Macro2. Si le double clic précédent était déjà hors de A1:A10, pas de traitement.
Avec BeforeDoubleClick (Mais si SelectionChange te suffit, l'adap- tation est aisée). ;-))
Pour le double Clic :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean) Dim a As Range Debug.Print ActiveSheet.[Lieu] If Not Intersect(Range("A1:A10"), Target) Is Nothing Then ActiveSheet.Names.Add "Lieu", "Dedans" Macro1 Else ' Test lieu double clic précédent If ActiveSheet.[Lieu] = "Dedans" Then Macro2 End If ActiveSheet.Names.Add "Lieu", "Dehors" End If End Sub
Private Sub Macro1() MsgBox 1 End Sub
Private Sub Macro2() MsgBox 2 End Sub
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule de A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous Alpha
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Alpha
Une petite précision ? Puis-je avoir une explication sur cette phrase If Not Intersect(Target, Range("b2:b10")) Is Nothing Then Merci Alpha
"Philippe.R" a écrit dans le message de news:
C'était vraiment avec plaisir Alpha ! -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002
"Alpha" a écrit dans le message de news:
Merci beaucoup Philippe, c'est très bien également. Alpha
"Philippe.R" a écrit dans le message de news:
Bonjour Alpha, En essayant de tenir compte des observations de mes Maîtres, je propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a2:a10")) Is Nothing Then MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du message
Else MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message End If End Sub
-- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Alpha" a écrit dans le message de news:%
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule
de
A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous Alpha
Une petite précision ?
Puis-je avoir une explication sur cette phrase
If Not Intersect(Target, Range("b2:b10")) Is Nothing Then
Merci
Alpha
"Philippe.R" <A_S_rauphil@wanadoo.fr> a écrit dans le message de news:
OyLu1OytDHA.2520@TK2MSFTNGP10.phx.gbl...
C'était vraiment avec plaisir Alpha !
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
"Alpha" <Alpha@ducentaure.fr> a écrit dans le message de
news:OYYoOKytDHA.540@tk2msftngp13.phx.gbl...
Merci beaucoup Philippe, c'est très bien également.
Alpha
"Philippe.R" <A_S_rauphil@wanadoo.fr> a écrit dans le message de news:
eAP7XGytDHA.3196@TK2MSFTNGP11.phx.gbl...
Bonjour Alpha,
En essayant de tenir compte des observations de mes Maîtres, je
propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("a2:a10")) Is Nothing Then
MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du
message
Else
MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message
End If
End Sub
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Alpha" <Alpha@ducentaure.fr> a écrit dans le message de
news:%23ynBU4xtDHA.2520@TK2MSFTNGP10.phx.gbl...
Bonjour,
1
je souhaite lancer une proc lorsque je clique dans une place de
cellule
de
A2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Une petite précision ? Puis-je avoir une explication sur cette phrase If Not Intersect(Target, Range("b2:b10")) Is Nothing Then Merci Alpha
"Philippe.R" a écrit dans le message de news:
C'était vraiment avec plaisir Alpha ! -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002
"Alpha" a écrit dans le message de news:
Merci beaucoup Philippe, c'est très bien également. Alpha
"Philippe.R" a écrit dans le message de news:
Bonjour Alpha, En essayant de tenir compte des observations de mes Maîtres, je propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a2:a10")) Is Nothing Then MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du message
Else MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message End If End Sub
-- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Alpha" a écrit dans le message de news:%
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule
de
A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous Alpha
Michel Gaboly
Re Alpha,
"a2:a10" et pas "b2:b10" en principe ici, ;-))
Intersect permet de tester l'itersection entre Target, la variable stockant la plage sélectionnée lors de l'événement SelectionChange et la plage indiquée.
Si l'intersection est vide (aucune cellule de la plage indiquée dans), l'intersection, Intersect renvoie Nothing
Par conséquent,
If Not Intersect ... is Nothing Then
permet de s'assurer que la sélection comporte au moins une des cellules de la plage testée.
NB - Private Sub Worksheet_SelectionChange(ByVal Target As Range) est la syntaxe par défaut , qui utilise Target comme nom de variable, mais tu peux remplacer Target par ce que tu veux :
Private Sub Worksheet_SelectionChange(ByVal MaPlage As Range)
Une petite précision ? Puis-je avoir une explication sur cette phrase If Not Intersect(Target, Range("b2:b10")) Is Nothing Then Merci Alpha
"Philippe.R" a écrit dans le message de news:
C'était vraiment avec plaisir Alpha ! -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002
"Alpha" a écrit dans le message de news:
Merci beaucoup Philippe, c'est très bien également. Alpha
"Philippe.R" a écrit dans le message de news:
Bonjour Alpha, En essayant de tenir compte des observations de mes Maîtres, je propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a2:a10")) Is Nothing Then MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du message
Else MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message End If End Sub
-- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Alpha" a écrit dans le message de news:%
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule
de
A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous Alpha
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Re Alpha,
"a2:a10" et pas "b2:b10" en principe ici, ;-))
Intersect permet de tester l'itersection entre Target, la variable
stockant la plage sélectionnée lors de l'événement SelectionChange
et la plage indiquée.
Si l'intersection est vide (aucune cellule de la plage indiquée dans),
l'intersection, Intersect renvoie Nothing
Par conséquent,
If Not Intersect ... is Nothing Then
permet de s'assurer que la sélection comporte au moins une des
cellules de la plage testée.
NB - Private Sub Worksheet_SelectionChange(ByVal Target As Range)
est la syntaxe par défaut , qui utilise Target comme nom de variable,
mais tu peux remplacer Target par ce que tu veux :
Private Sub Worksheet_SelectionChange(ByVal MaPlage As Range)
Une petite précision ?
Puis-je avoir une explication sur cette phrase
If Not Intersect(Target, Range("b2:b10")) Is Nothing Then
Merci
Alpha
"Philippe.R" <A_S_rauphil@wanadoo.fr> a écrit dans le message de news:
OyLu1OytDHA.2520@TK2MSFTNGP10.phx.gbl...
C'était vraiment avec plaisir Alpha !
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
"Alpha" <Alpha@ducentaure.fr> a écrit dans le message de
news:OYYoOKytDHA.540@tk2msftngp13.phx.gbl...
Merci beaucoup Philippe, c'est très bien également.
Alpha
"Philippe.R" <A_S_rauphil@wanadoo.fr> a écrit dans le message de news:
eAP7XGytDHA.3196@TK2MSFTNGP11.phx.gbl...
Bonjour Alpha,
En essayant de tenir compte des observations de mes Maîtres, je
propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("a2:a10")) Is Nothing Then
MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du
message
Else
MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message
End If
End Sub
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Alpha" <Alpha@ducentaure.fr> a écrit dans le message de
news:%23ynBU4xtDHA.2520@TK2MSFTNGP10.phx.gbl...
Bonjour,
1
je souhaite lancer une proc lorsque je clique dans une place de
cellule
de
A2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Intersect permet de tester l'itersection entre Target, la variable stockant la plage sélectionnée lors de l'événement SelectionChange et la plage indiquée.
Si l'intersection est vide (aucune cellule de la plage indiquée dans), l'intersection, Intersect renvoie Nothing
Par conséquent,
If Not Intersect ... is Nothing Then
permet de s'assurer que la sélection comporte au moins une des cellules de la plage testée.
NB - Private Sub Worksheet_SelectionChange(ByVal Target As Range) est la syntaxe par défaut , qui utilise Target comme nom de variable, mais tu peux remplacer Target par ce que tu veux :
Private Sub Worksheet_SelectionChange(ByVal MaPlage As Range)
Une petite précision ? Puis-je avoir une explication sur cette phrase If Not Intersect(Target, Range("b2:b10")) Is Nothing Then Merci Alpha
"Philippe.R" a écrit dans le message de news:
C'était vraiment avec plaisir Alpha ! -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002
"Alpha" a écrit dans le message de news:
Merci beaucoup Philippe, c'est très bien également. Alpha
"Philippe.R" a écrit dans le message de news:
Bonjour Alpha, En essayant de tenir compte des observations de mes Maîtres, je propose :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("a2:a10")) Is Nothing Then MsgBox "Tiens, la plage !" 'ta procédure 1 à la place du message
Else MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du message End If End Sub
-- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Alpha" a écrit dans le message de news:%
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule
de
A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous Alpha
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Alpha
Bonjour Michel, je pense qu'il y à erreur, hier soir, je n'ai pas Posté de questions, cela dit ta proposition est intéressante. Merci Alpha
"Michel Gaboly" a écrit dans le message de news:
Bonjour Alpha,
Je t'avais proposoé hier soir, les événements BeforeDoubleClick ou BeforeRightClick, car SelectionChange est moins précis : si tu sélectionnes la colonne A, ou si t sélectionnes la plage A5:H12 en ayant cliqué en H12 et étendu la séletion, ... le Intersect renverra True, sans qu'ait eu lieu un clic dans lune des cellules concernées.
Si tu veux repérer la sortie de A1:A10 ("quand je quitte"), je te propose d'utiliser un nom pour stocker l'emplacement du double clic précédent, ce qui permet :
Double clic dans une cellule de la plage A1:A10 --> Macro1
Double clic ailleurs ; si le double clic précédent était en A1:A10, --> Macro2. Si le double clic précédent était déjà hors de A1:A10, pas de traitement.
Avec BeforeDoubleClick (Mais si SelectionChange te suffit, l'adap- tation est aisée). ;-))
Pour le double Clic :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
Dim a As Range Debug.Print ActiveSheet.[Lieu] If Not Intersect(Range("A1:A10"), Target) Is Nothing Then ActiveSheet.Names.Add "Lieu", "Dedans" Macro1 Else ' Test lieu double clic précédent If ActiveSheet.[Lieu] = "Dedans" Then Macro2 End If ActiveSheet.Names.Add "Lieu", "Dehors" End If End Sub
Private Sub Macro1() MsgBox 1 End Sub
Private Sub Macro2() MsgBox 2 End Sub
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule de
A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous Alpha
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonjour Michel, je pense qu'il y à erreur, hier soir, je n'ai pas Posté de
questions, cela dit ta proposition est intéressante.
Merci
Alpha
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de news:
3FC9BB1E.1A10C71D@Suppgaboly.com...
Bonjour Alpha,
Je t'avais proposoé hier soir, les événements BeforeDoubleClick ou
BeforeRightClick, car SelectionChange est moins précis : si tu
sélectionnes la colonne A, ou si t sélectionnes la plage A5:H12 en
ayant cliqué en H12 et étendu la séletion, ... le Intersect renverra
True, sans qu'ait eu lieu un clic dans lune des cellules concernées.
Si tu veux repérer la sortie de A1:A10 ("quand je quitte"), je te
propose d'utiliser un nom pour stocker l'emplacement du double clic
précédent, ce qui permet :
Double clic dans une cellule de la plage A1:A10 --> Macro1
Double clic ailleurs ; si le double clic précédent était en A1:A10,
--> Macro2. Si le double clic précédent était déjà hors de A1:A10,
pas de traitement.
Avec BeforeDoubleClick (Mais si SelectionChange te suffit, l'adap-
tation est aisée). ;-))
Pour le double Clic :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range,
Cancel As Boolean)
Dim a As Range
Debug.Print ActiveSheet.[Lieu]
If Not Intersect(Range("A1:A10"), Target) Is Nothing Then
ActiveSheet.Names.Add "Lieu", "Dedans"
Macro1
Else
' Test lieu double clic précédent
If ActiveSheet.[Lieu] = "Dedans" Then
Macro2
End If
ActiveSheet.Names.Add "Lieu", "Dehors"
End If
End Sub
Private Sub Macro1()
MsgBox 1
End Sub
Private Sub Macro2()
MsgBox 2
End Sub
Bonjour,
1
je souhaite lancer une proc lorsque je clique dans une place de cellule
de
A2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Bonjour Michel, je pense qu'il y à erreur, hier soir, je n'ai pas Posté de questions, cela dit ta proposition est intéressante. Merci Alpha
"Michel Gaboly" a écrit dans le message de news:
Bonjour Alpha,
Je t'avais proposoé hier soir, les événements BeforeDoubleClick ou BeforeRightClick, car SelectionChange est moins précis : si tu sélectionnes la colonne A, ou si t sélectionnes la plage A5:H12 en ayant cliqué en H12 et étendu la séletion, ... le Intersect renverra True, sans qu'ait eu lieu un clic dans lune des cellules concernées.
Si tu veux repérer la sortie de A1:A10 ("quand je quitte"), je te propose d'utiliser un nom pour stocker l'emplacement du double clic précédent, ce qui permet :
Double clic dans une cellule de la plage A1:A10 --> Macro1
Double clic ailleurs ; si le double clic précédent était en A1:A10, --> Macro2. Si le double clic précédent était déjà hors de A1:A10, pas de traitement.
Avec BeforeDoubleClick (Mais si SelectionChange te suffit, l'adap- tation est aisée). ;-))
Pour le double Clic :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
Dim a As Range Debug.Print ActiveSheet.[Lieu] If Not Intersect(Range("A1:A10"), Target) Is Nothing Then ActiveSheet.Names.Add "Lieu", "Dedans" Macro1 Else ' Test lieu double clic précédent If ActiveSheet.[Lieu] = "Dedans" Then Macro2 End If ActiveSheet.Names.Add "Lieu", "Dehors" End If End Sub
Private Sub Macro1() MsgBox 1 End Sub
Private Sub Macro2() MsgBox 2 End Sub
Bonjour, 1 je souhaite lancer une proc lorsque je clique dans une place de cellule de
A2:A10 2 je souhaite lancer une proc lorsque je quitte une cellule de A2:A10