Sélectionner une plage de cellules sur deux

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Micke-31

XLDnaute Occasionnel
Bonjour à tous,

J’ai ce code pour sélectionner des plages de cellules. Dans mon exemple de la colonne B à D et une plage sur deux de la ligne 2 à la ligne 20.

Le problème est que la première ligne est entièrement sélectionnée,

Sub Selection_1_sur_2()
Dim i As Long
Dim rng As Range

Const Min As Long = 2 ' Première ligne
Const Max As Long = 20 ' Dernière ligne

Set rng = Range(Min & ":" & Min)
For i = Min To Max Step 2
Set rng = Union(rng, Range("B" & i, "D" & i)) 'de la colonne B à la D
Next i
rng.Select
End Sub

J’espère qu’un pro pourra me dire ce qui ne va pas, et vous en remercie d’avance
 
Re : Sélectionner une plage de cellules sur deux

Salut Pierrot93,

Merci d'avoir répondu, ce que je souhaite, c'est sélectionner des plages de cellules par exemple de B2 à D2 et une plage sur deux jusqu'a la ligne 20 soit B2 à D2 B4 à D4 etc ...
mon problème est que la première ligne se sélectionne entièrement alors qu'il faudrai B2 à D2

A+
 
Re : Sélectionner une plage de cellules sur deux

Bonjour,

Remplace la ligne de ton code suivant :
Code:
Set rng = Range(Min & ":" & Min)
par ce code :
Code:
Set rng = Range(Cells(Min, 2), Cells(Min, 4))
ou bien par :
Code:
Set rng = Range("B2:D2")
Dans ce cas tu peux supprimer cette partie suivante :
Code:
Const Min As Long = 2 ' Première ligne
Const Max As Long = 20 ' Dernière ligne
ou bien le plus simple :

Code:
Sub Selection_1_sur_2()
Dim i As Byte
  For i = 2 To 20 Step 2
    Union(Selection, Range("B" & i, "D" & i)).Select
  Next i
End Sub
 
Dernière édition:
Re : Sélectionner une plage de cellules sur deux

Salut Raja,

Et un grand merci, je tournais en rond et ne voyais pas l'erreur.
Pour t'expliquer, en réalité Step 2, fait référence à une cellule ce qui me permet de moduler mes plage sélectionnées.

Au final je voudrai dans deux cellules saisir les caractéristiques de ma plage à sélectionner, ce qui me permettrai une grande souplesse d'utilisation.
 
Re : Sélectionner une plage de cellules sur deux

Alors là merci infiniment Raja, d’une pierre deux coup, code épuré souplesse d’utilisation pour l’équipe.
Avec quelques cellules je vais piloter mes sélections, mes mise en forme et calculs.
J’adore Excel et il me surprendra toujours, les possibilités sont sans limite.

Encore merci à tous et longue vie à ce Forum
 
Re : Sélectionner une plage de cellules sur deux

Avec le concours de Raja et pour tous ceux à qui ça peut intéresser, en réservant la cellule B1 et C1 pour déterminer la plage à traiter, dans lesquelles on saisira le n° de ligne de début et fin de plage
En D1 le saut de sélection si on souhaite sélectionner une ligne sur deux saisir 2
en E1 Et F1 la plage à sélectionner
B1 saisir 1
C1 25
D1 2
E1 C
F1 H

ce code entièrement modulable depuis les cellules

Sub Selection_1_sur_X()
Dim i As Integer
For i = Range("B1") To Range("C1") Step Range("D1")
Union(selection, Range(Range("E1") & i, Range("F1") & i)).Select
Next i
End Sub
 
Dernière édition:
Re : Sélectionner une plage de cellules sur deux

Re,

Pour avoir une bonne marge, merci de transformer cette ligne :
Code:
Dim i As Byte
par :
Code:
Dim i As Integer
Car, le code initial a été préconisé à une situation précise.
édit : A modifier aussi la cellule qui doit contenir le pas(step) D2 en D1
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
281
Réponses
4
Affichages
177
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
5
Affichages
232
Retour