VBA Excel : sélection d'une plage variable [Résolu/Fermé]
A voir également:
- Vba selection plage variable
- Selectionner une plage de cellule vba - Meilleures réponses
- Vba range variable - Meilleures réponses
- VBA Excel : sélection d'une plage variable ✓ - Forum - VB / VBA
- Selection d'une plage variable - Forum - VB / VBA
- Selection d'une plage de cellule variable VBA ✓ - Forum - Logiciels
- Exécuter une macro sur une plage variable ✓ - Forum - Excel
- Selection d'une plage avec un adresse variable ✓ - Forum - VB / VBA
7 réponses
thev
- Messages postés
- 1769
- Date d'inscription
- lundi 7 avril 2008
- Statut
- Membre
- Dernière intervention
- 15 juin 2020
Range("A" & i & ":L" & i) représente une plage de cellules, c'est à dire un "objet Excel" au même titre qu'un classeur, une feuille, une cellule.
Pour assigner une variable (= MaPlage) à un objet, il faut utiliser l'instruction SET.
Cela dit , pour assigner ta plage variable de cellules , je préfère l'instruction :
set MaPlage = Columns("A:L").Rows(i)
que je trouve plus lisible.
Pour assigner une variable (= MaPlage) à un objet, il faut utiliser l'instruction SET.
Cela dit , pour assigner ta plage variable de cellules , je préfère l'instruction :
set MaPlage = Columns("A:L").Rows(i)
que je trouve plus lisible.
Signaler
Pyanitsa
Nickel, Merci beaucoup, Thev ! Mais pourquoi y avait-il besoin du 'set' ? (je débute tout juste en programmation)
Signaler
RAMIREZ
MRC gros j'ai éviter d'etre un robot grace a ca
thev
- Messages postés
- 1769
- Date d'inscription
- lundi 7 avril 2008
- Statut
- Membre
- Dernière intervention
- 15 juin 2020
set MaPlage = Range("A" & i & ":L" & i)
c2muz
Bonjour,
Débutant VBA Excel 2003
comment sélectionner une plage de données,exemple : de A1 à Zdernière ligne non vide ?
Suite à un import d'un fichier externe le nombre de lignes importées varient et donc le numéro de la dernière ligne n'est jamais identique.
D'avance merci
Débutant VBA Excel 2003
comment sélectionner une plage de données,exemple : de A1 à Zdernière ligne non vide ?
Suite à un import d'un fichier externe le nombre de lignes importées varient et donc le numéro de la dernière ligne n'est jamais identique.
D'avance merci
pijaku
- Messages postés
- 12234
- Date d'inscription
- jeudi 15 mai 2008
- Statut
- Modérateur
- Dernière intervention
- 4 janvier 2021
Bonjour,
Avec DernColonne, il faut utiliser Cells dans le Range :
Avec DernColonne, il faut utiliser Cells dans le Range :
Dim maPlage As Range Dim DernLigne As Long, DernColonne As Integer 'dernière ligne colonne A DernLigne = Range("A" & Rows.Count).End(xlUp).Row 'dernière colonne ligne 1 DernColonne = Cells(1, Cells.Columns.Count).End(xlToLeft).Column Set maPlage = Range(Cells(1, 1), Cells(DernLigne, DernColonne))
pijaku
- Messages postés
- 12234
- Date d'inscription
- jeudi 15 mai 2008
- Statut
- Modérateur
- Dernière intervention
- 4 janvier 2021
Bonjour,
Juste pour tester, essayez ceci :
Juste pour tester, essayez ceci :
Dim MaPlage As Range Dim i As Integer i = 1 Set MaPlage = Range("A" & i & ":L"& i) MaPlage.Select
Pyanitsa
Pourtant, j'ai déjà affecté des valeurs à des variables (des entiers) sans utiliser le 'set'.
Elle est pas mal du tout, ta syntaxe ! Je ne la connaissais pas. Je crois qu'on peut aussi utiliser 'Cell' à la place de 'Range', mais ce dernier m'a l'air plus maniable.
Merci encore une fois !
Elle est pas mal du tout, ta syntaxe ! Je ne la connaissais pas. Je crois qu'on peut aussi utiliser 'Cell' à la place de 'Range', mais ce dernier m'a l'air plus maniable.
Merci encore une fois !
Bosskev
- Messages postés
- 10
- Date d'inscription
- mercredi 8 mai 2013
- Statut
- Membre
- Dernière intervention
- 9 mai 2013
j'ai lu toutes vos réponses, mais est-ce que le VBA sur 2010 est le même que le VBA sur excel 2003 ???
Paul*Paul
- Messages postés
- 1
- Date d'inscription
- vendredi 31 octobre 2014
- Statut
- Membre
- Dernière intervention
- 31 octobre 2014
Bonjour tout le monde,
Je dois sélectionner une plage de cellules en fonction d'une variable i, qui représente le numéro de la ligne voulue. Suite à des recherches sur ccm.net et d'autres forums, j'ai trouvé le code suivant :
Dim MaPlage As Range
MaPlage = Range("A" & i & ":L" & i)
Je suis sur Excel 2003 et qqc cloche : VBA me renvoie "erreur d'éxecution 91 : variable objet ou variable de bloc With non définie". Vraiment, je ne comprends pas. Quelqu'un a une idée ?
Merci d'avance,
Pyanitsa.
-------------------------------------------------------------------
V-31-10-2014
Bonjour, Il vous est également possible d'écrire MaPlage ainsi:
Dim MaPlage As Range
Dim i As Integer
Set MaPlage = Range("A" & i , "L"& i)
'La ligne i allant de la colonne A à la colonne L correspondra à MaPlage
Pour obtenir une p
Je dois sélectionner une plage de cellules en fonction d'une variable i, qui représente le numéro de la ligne voulue. Suite à des recherches sur ccm.net et d'autres forums, j'ai trouvé le code suivant :
Dim MaPlage As Range
MaPlage = Range("A" & i & ":L" & i)
Je suis sur Excel 2003 et qqc cloche : VBA me renvoie "erreur d'éxecution 91 : variable objet ou variable de bloc With non définie". Vraiment, je ne comprends pas. Quelqu'un a une idée ?
Merci d'avance,
Pyanitsa.
-------------------------------------------------------------------
V-31-10-2014
Bonjour, Il vous est également possible d'écrire MaPlage ainsi:
Dim MaPlage As Range
Dim i As Integer
Set MaPlage = Range("A" & i , "L"& i)
'La ligne i allant de la colonne A à la colonne L correspondra à MaPlage
Pour obtenir une p