Comment definir une plage de cellules avec une variable

Bonjour Chers Amis

J ai eu un soucis avec excel que je voulais paratger avec vous.

On sait que pour definir une plage ca marche avec Range("A1:R77")

Mais quand he remplace le chiffre des ligne avec une variable cela ne marche plus Exeple: Range("A & i : R & i") cela ne marche pas.

Est ce que vous pouvez m aider avec la bonne formulation

Merci pour votre temps.

Bonsoir,

Teste

Range("A" & i & ":R" & i).Select

Cordialement

Bonjour Karima et le forum

La formule de Zebulon2 fonctionne très bien pour une plage. Si vous voulez sélectionner plusieures plages vous pouvez essayer ceci:

Sub selectionplusieuresplages()
i = 5
Range("A3:D" & i & ", F3:G" & i & ", P3:T" & i & ", Y3:Z" & i).Select
End Sub

ou bien:

Sub selectionplusieuresplages()
i = 3
j = 5
Range("A" & i & ": D" & j & ", F" & i & ":G" & j & ", P" & i & ":T" & j & ", Y" & i & ":Z" & i).Select
End Sub

Bonsoir @ tous !

Il y a aussi le "Resize" ! On part de la première cellule connue puis on agrandi la plage d'une cellule en une plage de plusieurs cellules en colonne et plusieurs cellule en ligne, donc pour votre Exemple Range("A1:R77") : Range("A1").Resize(77,18) où 77 correspond au nombre de ligne de la plage agrandie et 18 le nombre de colonne de cette même plage agrandie.

Si ce n'est que sur une ligne comme avec votre exemple avec la variable "i" Range("A" & i & ":R" & i) : Range("A" & i).Resize(1,18) ici on la taille finale de la plage est de 1 ligne = i et de 18 colonne de A à R.

Vous pouvez jouer avec les Cells ! Range("A1:R77") = Range(Cells(1,1),Cells(77,18))
ou plus "précis" pour les colonnes : Range(Cells(1,"A"),Cells(77,"R"))

En effet Range = Colonne puis ligne Range("A1") et Cells c'est le contraire ligne puis colonne Range("A4") = Cells(4,1) = Cells(4,"A")

@ bientôt

LouReeD

Bonjour le forum.

Pour ceux qui auraient des difficultés à créer la formule avec variable voici ma méthode qui paraitra très simple après explications, je l'espère. Je reprends la formule initiale de ce fil: Range("A1:R77"). Sans parler des parenthèses qui appartiennent à la formule Range() nous allons décortiquer la partie "A1:R77". Cette partie est considérée comme littérale puisque encadrée par des " ". Dans cette partie littérale nous voulons remplacer 1 et 77 par des variables par exemple i et j.
Ces variables seront séparées de la partie littérale par des &. Ce qui donne "A & i & :R & j
On s'aperçoit que le deuxième " disparait puisque j n'est pas littéral (variable). En revanche tout ce qui est littéral doit être encadré par des " " ainsi "A deviendra "A" et :R deviendra ":R" Ce qui nous ammène à recoller les morceaux "A" & i & ":R" & j. Ensuite on rajoute la formule Range() pour faire Range("A" & i & ":R" & j).

Rechercher des sujets similaires à "comment definir plage variable"