Je souhaiterai pouvoir obtenir en VBA l'adresse (numéros ligne et colonne)
de la première cellule (en haut à gauche) et de la dernière cellule (en bas à
droite) d'une sélection quelconque effectuée dans une feuille.
J'ai cherché sans succès dans divers forums, d'où ma question qui j'espère
n'a pas été traitée x fois (?).
D'avance, je remercie toute personne qui pourra me mettre sur la piste.
--
BCM
Sub infoselectnum() With Selection MsgBox "lig " & .Cells(1).Row & " col " & .Cells(1).Column _ & " à lig " & .Cells(.Cells.Count).Row _ & " col " & .Cells(.Cells.Count).Column End With End Sub
"LeSteph" a écrit dans le message de news:
Bonsoir Bruno, il y aura juste deux points entre les deux:
Sub infoselect() MsgBox Selection.Address End Sub
'lSteph "Bruno CM" a écrit dans le message de news:
Bonjour,
Je souhaiterai pouvoir obtenir en VBA l'adresse (numéros ligne et colonne) de la première cellule (en haut à gauche) et de la dernière cellule (en bas à droite) d'une sélection quelconque effectuée dans une feuille. J'ai cherché sans succès dans divers forums, d'où ma question qui j'espère n'a pas été traitée x fois (?). D'avance, je remercie toute personne qui pourra me mettre sur la piste. -- BCM
re, pour juste les numéros:
Sub infoselectnum()
With Selection
MsgBox "lig " & .Cells(1).Row & " col " & .Cells(1).Column _
& " à lig " & .Cells(.Cells.Count).Row _
& " col " & .Cells(.Cells.Count).Column
End With
End Sub
"LeSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
OSfEH91yEHA.1524@TK2MSFTNGP09.phx.gbl...
Bonsoir Bruno,
il y aura juste deux points entre les deux:
Sub infoselect()
MsgBox Selection.Address
End Sub
'lSteph
"Bruno CM" <BrunoCM@discussions.microsoft.com> a écrit dans le message de
news: EE71CE25-12DF-4A88-8379-E1737CDAC095@microsoft.com...
Bonjour,
Je souhaiterai pouvoir obtenir en VBA l'adresse (numéros ligne et
colonne)
de la première cellule (en haut à gauche) et de la dernière cellule (en
bas à
droite) d'une sélection quelconque effectuée dans une feuille.
J'ai cherché sans succès dans divers forums, d'où ma question qui
j'espère
n'a pas été traitée x fois (?).
D'avance, je remercie toute personne qui pourra me mettre sur la piste.
--
BCM
Sub infoselectnum() With Selection MsgBox "lig " & .Cells(1).Row & " col " & .Cells(1).Column _ & " à lig " & .Cells(.Cells.Count).Row _ & " col " & .Cells(.Cells.Count).Column End With End Sub
"LeSteph" a écrit dans le message de news:
Bonsoir Bruno, il y aura juste deux points entre les deux:
Sub infoselect() MsgBox Selection.Address End Sub
'lSteph "Bruno CM" a écrit dans le message de news:
Bonjour,
Je souhaiterai pouvoir obtenir en VBA l'adresse (numéros ligne et colonne) de la première cellule (en haut à gauche) et de la dernière cellule (en bas à droite) d'une sélection quelconque effectuée dans une feuille. J'ai cherché sans succès dans divers forums, d'où ma question qui j'espère n'a pas été traitée x fois (?). D'avance, je remercie toute personne qui pourra me mettre sur la piste. -- BCM
GD
Bonsour ® LeSteph , Décidément tout le monde s'y est mis ce soir .... ;-))) l'aura le choix le Bruno ....
hélas ta dernière ci-dessous ne le fait pas en cas de sélections multiples ! :-(
@+ wrote:
re, pour juste les numéros:
Sub infoselectnum() With Selection MsgBox "lig " & .Cells(1).Row & " col " & .Cells(1).Column _ & " à lig " & .Cells(.Cells.Count).Row _ & " col " & .Cells(.Cells.Count).Column End With End Sub
"LeSteph" a écrit dans le message de news:
Bonsoir Bruno, il y aura juste deux points entre les deux:
Sub infoselect() MsgBox Selection.Address End Sub
'lSteph "Bruno CM" a écrit dans le message de news:
Bonjour,
Je souhaiterai pouvoir obtenir en VBA l'adresse (numéros ligne et colonne) de la première cellule (en haut à gauche) et de la dernière cellule (en bas à droite) d'une sélection quelconque effectuée dans une feuille. J'ai cherché sans succès dans divers forums, d'où ma question qui j'espère n'a pas été traitée x fois (?). D'avance, je remercie toute personne qui pourra me mettre sur la piste. -- BCM
Bonsour ® LeSteph ,
Décidément tout le monde s'y est mis ce soir .... ;-)))
l'aura le choix le Bruno ....
hélas ta dernière ci-dessous ne le fait pas en cas de sélections multiples !
:-(
@+
wrote:
re, pour juste les numéros:
Sub infoselectnum()
With Selection
MsgBox "lig " & .Cells(1).Row & " col " & .Cells(1).Column _
& " à lig " & .Cells(.Cells.Count).Row _
& " col " & .Cells(.Cells.Count).Column
End With
End Sub
"LeSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
OSfEH91yEHA.1524@TK2MSFTNGP09.phx.gbl...
Bonsoir Bruno,
il y aura juste deux points entre les deux:
Sub infoselect()
MsgBox Selection.Address
End Sub
'lSteph
"Bruno CM" <BrunoCM@discussions.microsoft.com> a écrit dans le
message de news:
EE71CE25-12DF-4A88-8379-E1737CDAC095@microsoft.com...
Bonjour,
Je souhaiterai pouvoir obtenir en VBA l'adresse (numéros ligne et
colonne)
de la première cellule (en haut à gauche) et de la dernière cellule
(en bas à
droite) d'une sélection quelconque effectuée dans une feuille.
J'ai cherché sans succès dans divers forums, d'où ma question qui
j'espère
n'a pas été traitée x fois (?).
D'avance, je remercie toute personne qui pourra me mettre sur la
piste. --
BCM
Bonsour ® LeSteph , Décidément tout le monde s'y est mis ce soir .... ;-))) l'aura le choix le Bruno ....
hélas ta dernière ci-dessous ne le fait pas en cas de sélections multiples ! :-(
@+ wrote:
re, pour juste les numéros:
Sub infoselectnum() With Selection MsgBox "lig " & .Cells(1).Row & " col " & .Cells(1).Column _ & " à lig " & .Cells(.Cells.Count).Row _ & " col " & .Cells(.Cells.Count).Column End With End Sub
"LeSteph" a écrit dans le message de news:
Bonsoir Bruno, il y aura juste deux points entre les deux:
Sub infoselect() MsgBox Selection.Address End Sub
'lSteph "Bruno CM" a écrit dans le message de news:
Bonjour,
Je souhaiterai pouvoir obtenir en VBA l'adresse (numéros ligne et colonne) de la première cellule (en haut à gauche) et de la dernière cellule (en bas à droite) d'une sélection quelconque effectuée dans une feuille. J'ai cherché sans succès dans divers forums, d'où ma question qui j'espère n'a pas été traitée x fois (?). D'avance, je remercie toute personne qui pourra me mettre sur la piste. -- BCM
Joël GARBE
Bonjour,
Si jamais j'avais pensé que la sélection commençât en A1, je n'aurais pas fait tout ce trravail, pour la première cellule, j'aurais mis : 1 1
!!!!!!!!!!!!!!!!!!!!!
--
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Bruno CM" a écrit dans le message de news:
Bonsoir,
Merci pour votre réponse rapide. Toutefois ma sélection ne part pas de la cellule A1, mais comme indiqué il s'agit d'une sélection d'une plage quelconque dans la feuille ... ce qui complique les choses. Désolé pour cetterelance.
Bonsoir
selection.range("a1").row selection.range("a1").column pour la premère cellule
selection.range("a1").row + selection.rows.count - 1 selection.range("a1").column + selection.columns.count - 1 pour la dernière cellule
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Bruno CM" a écrit dans le message de news:
Bonjour,
Je souhaiterai pouvoir obtenir en VBA l'adresse (numéros ligne et colonne) de la première cellule (en haut à gauche) et de la dernière cellule (en bas à droite) d'une sélection quelconque effectuée dans une feuille. J'ai cherché sans succès dans divers forums, d'où ma question qui j'espère n'a pas été traitée x fois (?). D'avance, je remercie toute personne qui pourra me mettre sur la piste. -- BCM
Bonjour,
Si jamais j'avais pensé que la sélection commençât en A1, je n'aurais pas
fait tout ce trravail, pour la première cellule, j'aurais mis :
1
1
!!!!!!!!!!!!!!!!!!!!!
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Bruno CM" <BrunoCM@discussions.microsoft.com> a écrit dans le message de
news: 9F7D4D17-D18F-4C71-97AC-7481BA062E5D@microsoft.com...
Bonsoir,
Merci pour votre réponse rapide. Toutefois ma sélection ne part pas de la
cellule A1, mais comme indiqué il s'agit d'une sélection d'une plage
quelconque dans la feuille ... ce qui complique les choses.
Désolé pour cetterelance.
Bonsoir
selection.range("a1").row
selection.range("a1").column
pour la premère cellule
selection.range("a1").row + selection.rows.count - 1
selection.range("a1").column + selection.columns.count - 1
pour la dernière cellule
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Bruno CM" <BrunoCM@discussions.microsoft.com> a écrit dans le message de
news: EE71CE25-12DF-4A88-8379-E1737CDAC095@microsoft.com...
Bonjour,
Je souhaiterai pouvoir obtenir en VBA l'adresse (numéros ligne et
colonne)
de la première cellule (en haut à gauche) et de la dernière cellule (en
bas à
droite) d'une sélection quelconque effectuée dans une feuille.
J'ai cherché sans succès dans divers forums, d'où ma question qui
j'espère
n'a pas été traitée x fois (?).
D'avance, je remercie toute personne qui pourra me mettre sur la piste.
--
BCM
Si jamais j'avais pensé que la sélection commençât en A1, je n'aurais pas fait tout ce trravail, pour la première cellule, j'aurais mis : 1 1
!!!!!!!!!!!!!!!!!!!!!
--
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Bruno CM" a écrit dans le message de news:
Bonsoir,
Merci pour votre réponse rapide. Toutefois ma sélection ne part pas de la cellule A1, mais comme indiqué il s'agit d'une sélection d'une plage quelconque dans la feuille ... ce qui complique les choses. Désolé pour cetterelance.
Bonsoir
selection.range("a1").row selection.range("a1").column pour la premère cellule
selection.range("a1").row + selection.rows.count - 1 selection.range("a1").column + selection.columns.count - 1 pour la dernière cellule
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Bruno CM" a écrit dans le message de news:
Bonjour,
Je souhaiterai pouvoir obtenir en VBA l'adresse (numéros ligne et colonne) de la première cellule (en haut à gauche) et de la dernière cellule (en bas à droite) d'une sélection quelconque effectuée dans une feuille. J'ai cherché sans succès dans divers forums, d'où ma question qui j'espère n'a pas été traitée x fois (?). D'avance, je remercie toute personne qui pourra me mettre sur la piste. -- BCM
LeSteph
Bonjour, Merci GD, remarqué entre temps, ceci a l'air mieux:
Sub infoselectN() With Selection MsgBox "lig " & .Cells(1).Row & " col " & .Cells(1).Column _ & " à lig " & Range(Mid(.Address, Len(.Address) - 3, 4)).Row _ & " col " & Range(Mid(.Address, Len(.Address) - 3, 4)).Column End With End Sub
lSteph :) qui rejoint la fosse
"GD" a écrit dans le message de news:
Bonsour ® LeSteph , Décidément tout le monde s'y est mis ce soir .... ;-))) l'aura le choix le Bruno ....
hélas ta dernière ci-dessous ne le fait pas en cas de sélections multiples ! :-(
@+ wrote:
re, pour juste les numéros:
Sub infoselectnum() With Selection MsgBox "lig " & .Cells(1).Row & " col " & .Cells(1).Column _ & " à lig " & .Cells(.Cells.Count).Row _ & " col " & .Cells(.Cells.Count).Column End With End Sub
"LeSteph" a écrit dans le message de news:
Bonsoir Bruno, il y aura juste deux points entre les deux:
Sub infoselect() MsgBox Selection.Address End Sub
'lSteph "Bruno CM" a écrit dans le message de news:
Bonjour,
Je souhaiterai pouvoir obtenir en VBA l'adresse (numéros ligne et colonne) de la première cellule (en haut à gauche) et de la dernière cellule (en bas à droite) d'une sélection quelconque effectuée dans une feuille. J'ai cherché sans succès dans divers forums, d'où ma question qui j'espère n'a pas été traitée x fois (?). D'avance, je remercie toute personne qui pourra me mettre sur la piste. -- BCM
Bonjour,
Merci GD, remarqué entre temps, ceci a l'air mieux:
Sub infoselectN()
With Selection
MsgBox "lig " & .Cells(1).Row & " col " & .Cells(1).Column _
& " à lig " & Range(Mid(.Address, Len(.Address) - 3, 4)).Row _
& " col " & Range(Mid(.Address, Len(.Address) - 3, 4)).Column
End With
End Sub
lSteph
:) qui rejoint la fosse
"GD" <nomail@nomail.net> a écrit dans le message de news:
uzMsMg2yEHA.1292@TK2MSFTNGP10.phx.gbl...
Bonsour ® LeSteph ,
Décidément tout le monde s'y est mis ce soir .... ;-)))
l'aura le choix le Bruno ....
hélas ta dernière ci-dessous ne le fait pas en cas de sélections multiples
!
:-(
@+
wrote:
re, pour juste les numéros:
Sub infoselectnum()
With Selection
MsgBox "lig " & .Cells(1).Row & " col " & .Cells(1).Column _
& " à lig " & .Cells(.Cells.Count).Row _
& " col " & .Cells(.Cells.Count).Column
End With
End Sub
"LeSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
OSfEH91yEHA.1524@TK2MSFTNGP09.phx.gbl...
Bonsoir Bruno,
il y aura juste deux points entre les deux:
Sub infoselect()
MsgBox Selection.Address
End Sub
'lSteph
"Bruno CM" <BrunoCM@discussions.microsoft.com> a écrit dans le
message de news:
EE71CE25-12DF-4A88-8379-E1737CDAC095@microsoft.com...
Bonjour,
Je souhaiterai pouvoir obtenir en VBA l'adresse (numéros ligne et
colonne)
de la première cellule (en haut à gauche) et de la dernière cellule
(en bas à
droite) d'une sélection quelconque effectuée dans une feuille.
J'ai cherché sans succès dans divers forums, d'où ma question qui
j'espère
n'a pas été traitée x fois (?).
D'avance, je remercie toute personne qui pourra me mettre sur la
piste. --
BCM
Bonjour, Merci GD, remarqué entre temps, ceci a l'air mieux:
Sub infoselectN() With Selection MsgBox "lig " & .Cells(1).Row & " col " & .Cells(1).Column _ & " à lig " & Range(Mid(.Address, Len(.Address) - 3, 4)).Row _ & " col " & Range(Mid(.Address, Len(.Address) - 3, 4)).Column End With End Sub
lSteph :) qui rejoint la fosse
"GD" a écrit dans le message de news:
Bonsour ® LeSteph , Décidément tout le monde s'y est mis ce soir .... ;-))) l'aura le choix le Bruno ....
hélas ta dernière ci-dessous ne le fait pas en cas de sélections multiples ! :-(
@+ wrote:
re, pour juste les numéros:
Sub infoselectnum() With Selection MsgBox "lig " & .Cells(1).Row & " col " & .Cells(1).Column _ & " à lig " & .Cells(.Cells.Count).Row _ & " col " & .Cells(.Cells.Count).Column End With End Sub
"LeSteph" a écrit dans le message de news:
Bonsoir Bruno, il y aura juste deux points entre les deux:
Sub infoselect() MsgBox Selection.Address End Sub
'lSteph "Bruno CM" a écrit dans le message de news:
Bonjour,
Je souhaiterai pouvoir obtenir en VBA l'adresse (numéros ligne et colonne) de la première cellule (en haut à gauche) et de la dernière cellule (en bas à droite) d'une sélection quelconque effectuée dans une feuille. J'ai cherché sans succès dans divers forums, d'où ma question qui j'espère n'a pas été traitée x fois (?). D'avance, je remercie toute personne qui pourra me mettre sur la piste. -- BCM
AV
Exemple de résultat "bizarre" : Avec touche Ctrl (en respectant cet ordre) Sélection B6:B8 et A2:A3 et C4:C5 --> exécution de la macro "infoselectN"
AV
Exemple de résultat "bizarre" :
Avec touche Ctrl (en respectant cet ordre)
Sélection B6:B8 et A2:A3 et C4:C5
--> exécution de la macro "infoselectN"
Exemple de résultat "bizarre" : Avec touche Ctrl (en respectant cet ordre) Sélection B6:B8 et A2:A3 et C4:C5 --> exécution de la macro "infoselectN"
AV
AV
Si je puis rajouter mon grain.... Pour ce qui est d'une sélection unique, voir la réponse de Joël dans le chapitre "incompris and Co" (utilisation d'une référence relative)
Pour ce qui est d'une sélection multiple, l'index des "areas" lorsqu'on boucle dessus est totalement tributaire de l'ordre dans lequel les diverses zones ont été sélectionnées ! Pour avoir le tableau qui inclus l'ensemble de la (des) sélection(s) unique ou multiple :
Sub zz_Zones() MinL = Selection.Row: MinC = Selection.Column For Each zone In Selection.Areas x1 = zone.Row x2 = x1 + zone.Rows.Count - 1 y1 = zone.Column y2 = y1 + zone.Columns.Count - 1 If x1 < MinL Then MinL = x1 If x2 > MaxL Then MaxL = x2 If y1 < MinC Then MinC = y1 If y2 > MaxC Then MaxC = y2 Next MsgBox "Ligne min : " & MinL MsgBox "Colonne Min : " & MinC MsgBox "Ligne max : " & MaxL MsgBox "Colonne max : " & MaxC MsgBox "Adresse tableau : " & Range(Cells(MinL, MinC), Cells(MaxL, MaxC)).Address End Sub
AV
Si je puis rajouter mon grain....
Pour ce qui est d'une sélection unique, voir la réponse de Joël dans le chapitre
"incompris and Co" (utilisation d'une référence relative)
Pour ce qui est d'une sélection multiple, l'index des "areas" lorsqu'on boucle
dessus est totalement tributaire de l'ordre dans lequel les diverses zones ont
été sélectionnées !
Pour avoir le tableau qui inclus l'ensemble de la (des) sélection(s) unique ou
multiple :
Sub zz_Zones()
MinL = Selection.Row: MinC = Selection.Column
For Each zone In Selection.Areas
x1 = zone.Row
x2 = x1 + zone.Rows.Count - 1
y1 = zone.Column
y2 = y1 + zone.Columns.Count - 1
If x1 < MinL Then MinL = x1
If x2 > MaxL Then MaxL = x2
If y1 < MinC Then MinC = y1
If y2 > MaxC Then MaxC = y2
Next
MsgBox "Ligne min : " & MinL
MsgBox "Colonne Min : " & MinC
MsgBox "Ligne max : " & MaxL
MsgBox "Colonne max : " & MaxC
MsgBox "Adresse tableau : " & Range(Cells(MinL, MinC), Cells(MaxL,
MaxC)).Address
End Sub
Si je puis rajouter mon grain.... Pour ce qui est d'une sélection unique, voir la réponse de Joël dans le chapitre "incompris and Co" (utilisation d'une référence relative)
Pour ce qui est d'une sélection multiple, l'index des "areas" lorsqu'on boucle dessus est totalement tributaire de l'ordre dans lequel les diverses zones ont été sélectionnées ! Pour avoir le tableau qui inclus l'ensemble de la (des) sélection(s) unique ou multiple :
Sub zz_Zones() MinL = Selection.Row: MinC = Selection.Column For Each zone In Selection.Areas x1 = zone.Row x2 = x1 + zone.Rows.Count - 1 y1 = zone.Column y2 = y1 + zone.Columns.Count - 1 If x1 < MinL Then MinL = x1 If x2 > MaxL Then MaxL = x2 If y1 < MinC Then MinC = y1 If y2 > MaxC Then MaxC = y2 Next MsgBox "Ligne min : " & MinL MsgBox "Colonne Min : " & MinC MsgBox "Ligne max : " & MaxL MsgBox "Colonne max : " & MaxC MsgBox "Adresse tableau : " & Range(Cells(MinL, MinC), Cells(MaxL, MaxC)).Address End Sub