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
messageElse
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
celluledeA2: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
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 é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
messageElse
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
celluledeA2: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
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
deA2: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
Merci à tous
Alpha
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
deA2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous
Alpha
Euh, c'est encore moi,
je désire obliger l'utilisateur à cliquer uniquement dans la cellule A1
sinon
de toutes façons c'est la cellule A1 qui est sélectionnée.
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
messageElse
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
celluledeA2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous
Alpha
Euh, c'est encore moi,
je désire obliger l'utilisateur à cliquer uniquement dans la cellule A1
sinon
de toutes façons c'est la cellule A1 qui est sélectionnée.
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
Merci à tous
Alpha
Euh, c'est encore moi,
je désire obliger l'utilisateur à cliquer uniquement dans la cellule A1
sinon
de toutes façons c'est la cellule A1 qui est sélectionnée.
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
messageElse
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
celluledeA2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous
Alpha
Euh, c'est encore moi,
je désire obliger l'utilisateur à cliquer uniquement dans la cellule A1
sinon
de toutes façons c'est la cellule A1 qui est sélectionnée.
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
messageElse
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
celluledeA2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous
Alpha
Euh, c'est encore moi,
je désire obliger l'utilisateur à cliquer uniquement dans la cellule A1
sinon
de toutes façons c'est la cellule A1 qui est sélectionnée.
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
Merci à tous
Alpha
Euh, c'est encore moi,
je désire obliger l'utilisateur à cliquer uniquement dans la cellule A1
sinon
de toutes façons c'est la cellule A1 qui est sélectionnée.
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
messageElse
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
celluledeA2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de A2:A10
Merci à tous
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 SubBonjour,
1
je souhaite lancer une proc lorsque je clique dans une place de cellule
deA2: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
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" 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 SubBonjour,
1
je souhaite lancer une proc lorsque je clique dans une place de cellule
deA2: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
Merci beaucoup pour cette très grande gentillesse et compétence.
Alpha
"Michel Gaboly" a écrit dans le message de news: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
messageElse
MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du
messageEnd 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
celluledeA2: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
Merci beaucoup pour cette très grande gentillesse et compétence.
Alpha
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de news:
3FC9BF0F.8F4314E3@Suppgaboly.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
Merci à tous
Alpha
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Merci beaucoup pour cette très grande gentillesse et compétence.
Alpha
"Michel Gaboly" a écrit dans le message de news: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
messageElse
MsgBox "Oh, la belle mère !" 'ta procédure 2 à la place du
messageEnd 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
celluledeA2: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,
Le code ci dessous le fait
Private Sub Worksheet_SelectionChange(ByVal taGada As Range)
Range("a1").Select
End Sub
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL97 / XL2002
"Alpha" a écrit dans le message de
news:e$
Euh, c'est encore moi,
je désire obliger l'utilisateur à cliquer uniquement dans la cellule A1
sinon
de toutes façons c'est la cellule A1 qui est sélectionnée.
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
messageElse
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
celluledeA2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de
A2:A10
Merci à tous
Alpha
Re,
Le code ci dessous le fait
Private Sub Worksheet_SelectionChange(ByVal taGada As Range)
Range("a1").Select
End Sub
--
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:e$5Ti9ytDHA.3140@TK2MSFTNGP11.phx.gbl...
Euh, c'est encore moi,
je désire obliger l'utilisateur à cliquer uniquement dans la cellule A1
sinon
de toutes façons c'est la cellule A1 qui est sélectionnée.
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
Merci à tous
Alpha
Re,
Le code ci dessous le fait
Private Sub Worksheet_SelectionChange(ByVal taGada As Range)
Range("a1").Select
End Sub
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL97 / XL2002
"Alpha" a écrit dans le message de
news:e$
Euh, c'est encore moi,
je désire obliger l'utilisateur à cliquer uniquement dans la cellule A1
sinon
de toutes façons c'est la cellule A1 qui est sélectionnée.
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
messageElse
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
celluledeA2:A10
2
je souhaite lancer une proc lorsque je quitte une cellule de
A2:A10
Merci à tous
Alpha
Re,
Voilà :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").Select
End SubEuh, c'est encore moi,
je désire obliger l'utilisateur à cliquer uniquement dans la cellule A1
sinon
de toutes façons c'est la cellule A1 qui est sélectionnée.
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
messageElse
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
celluledeA2: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,
Voilà :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").Select
End Sub
Euh, c'est encore moi,
je désire obliger l'utilisateur à cliquer uniquement dans la cellule A1
sinon
de toutes façons c'est la cellule A1 qui est sélectionnée.
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
Merci à tous
Alpha
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Re,
Voilà :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1").Select
End SubEuh, c'est encore moi,
je désire obliger l'utilisateur à cliquer uniquement dans la cellule A1
sinon
de toutes façons c'est la cellule A1 qui est sélectionnée.
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
messageElse
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
celluledeA2: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