OVH Cloud OVH Cloud

Sélection d'une zone

2 réponses
Avatar
Shewy80
Bonjour

Je souhaite sélectionner une zone en VBA

Voilà à ce que j'en suis :

Range("B58").Select
(le point de départ est variable ensuite, mais pour cet exmp je le prend
fixe)

debut = ActiveCell.Address
fin = ActiveCell.Offset(11, 0).Address
zone = debut & ":" & fin
Range(zone).Select

Ainsi à l'issu de ces quelques lignes les cellules de B58 à B69 sont
sélectionnées.
(ensuite je fais une boucle pour sélectionner les 12 suivantes tant que i
IS NOT NULL...)

mais comment faire pour étendre cette sélection aux col voisines ??

En fait je souhaite sélectionner
(pour la premiere boucle, ensuite les n° de lignes changent, mais pas les
colonnes)
B58 : D69 puis E58 : G69 puis I58 : I69 puis K58 : K69

Le but est d'appliquer à ces zones un format de bordures, numérique et de
casse.
(différent à chaqun de ces zones)

J'avais pensé à : Activecell.row dans une variable mais c'est pas tres
rapide en fait
La macro doit tourner sur des 100aines de ligne au total !

Merci de votre aide ou de vos idées.

2 réponses

Avatar
gilbert
bonjour

mais comment faire pour étendre cette sélection aux col voisines ??
tu changes la deuxième valeur de l' offset (ligne,colonne)

et tu places le code dans la feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
debut = ActiveCell.Address
fin = ActiveCell.Offset(5, 4).Address
zone = debut & ":" & fin
Range(zone).Select

End Sub

salutations

Gilbert

"Shewy80" a écrit dans le message de
news:cr0m7e$6b1$
Bonjour

Je souhaite sélectionner une zone en VBA

Voilà à ce que j'en suis :

Range("B58").Select
(le point de départ est variable ensuite, mais pour cet exmp je le prend
fixe)

debut = ActiveCell.Address
fin = ActiveCell.Offset(11, 0).Address
zone = debut & ":" & fin
Range(zone).Select

Ainsi à l'issu de ces quelques lignes les cellules de B58 à B69 sont
sélectionnées.
(ensuite je fais une boucle pour sélectionner les 12 suivantes tant que i
IS NOT NULL...)

mais comment faire pour étendre cette sélection aux col voisines ??

En fait je souhaite sélectionner
(pour la premiere boucle, ensuite les n° de lignes changent, mais pas les
colonnes)
B58 : D69 puis E58 : G69 puis I58 : I69 puis K58 : K69

Le but est d'appliquer à ces zones un format de bordures, numérique et de
casse.
(différent à chaqun de ces zones)

J'avais pensé à : Activecell.row dans une variable mais c'est pas tres
rapide en fait
La macro doit tourner sur des 100aines de ligne au total !

Merci de votre aide ou de vos idées.





Avatar
Shewy80
oki ! ça je sais faire
j'étais parti sur un truc du genre : 'Range(Selection,
Selection.End(xlToLeft)).Select
par rapport à ma premiere zone de sélectionnée

Mais en fait ton idée va être la meilleure, moins lourde apparement

Merci et bonne prog"




"gilbert" a écrit dans le message de
news:
bonjour

mais comment faire pour étendre cette sélection aux col voisines ??
tu changes la deuxième valeur de l' offset (ligne,colonne)

et tu places le code dans la feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
debut = ActiveCell.Address
fin = ActiveCell.Offset(5, 4).Address
zone = debut & ":" & fin
Range(zone).Select

End Sub

salutations

Gilbert

"Shewy80" a écrit dans le message de
news:cr0m7e$6b1$
Bonjour

Je souhaite sélectionner une zone en VBA

Voilà à ce que j'en suis :

Range("B58").Select
(le point de départ est variable ensuite, mais pour cet exmp je le
prend


fixe)

debut = ActiveCell.Address
fin = ActiveCell.Offset(11, 0).Address
zone = debut & ":" & fin
Range(zone).Select

Ainsi à l'issu de ces quelques lignes les cellules de B58 à B69 sont
sélectionnées.
(ensuite je fais une boucle pour sélectionner les 12 suivantes tant que
i


IS NOT NULL...)

mais comment faire pour étendre cette sélection aux col voisines ??

En fait je souhaite sélectionner
(pour la premiere boucle, ensuite les n° de lignes changent, mais pas
les


colonnes)
B58 : D69 puis E58 : G69 puis I58 : I69 puis K58 : K69

Le but est d'appliquer à ces zones un format de bordures, numérique et
de


casse.
(différent à chaqun de ces zones)

J'avais pensé à : Activecell.row dans une variable mais c'est pas tres
rapide en fait
La macro doit tourner sur des 100aines de ligne au total !

Merci de votre aide ou de vos idées.