Determiner une plage de cellule avec variable
Goosdaye
Messages postés
2
Statut
Membre
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je souhaiterais déterminer avec des variables une plage de cellule (12col sur 3lignes) afin de la copier.
le point de départ de cette cellule est variable (B7 ou B8 ou B12 ou c14...etc) mais les 12 lignes sur 3 collones sont obligatoire.*
Je pense pouvoir partir de quelque chose comme suit :
Dim vCell1 As Variant 'Cellule du tableau en haut à gauche
Dim vCell2 As Variant 'Cellule du tableau en bas à droite
Dim vPlage As Range 'plage de cellule du tableau
With ActiveSheet
vCell1 = ActiveCell
vCell2 = vCell1 + 12
vPlage = Cells(vCell1 & vCell2).Select
End With
Ce code ne marche pas
Merci pour votre aide
Je souhaiterais déterminer avec des variables une plage de cellule (12col sur 3lignes) afin de la copier.
le point de départ de cette cellule est variable (B7 ou B8 ou B12 ou c14...etc) mais les 12 lignes sur 3 collones sont obligatoire.*
Je pense pouvoir partir de quelque chose comme suit :
Dim vCell1 As Variant 'Cellule du tableau en haut à gauche
Dim vCell2 As Variant 'Cellule du tableau en bas à droite
Dim vPlage As Range 'plage de cellule du tableau
With ActiveSheet
vCell1 = ActiveCell
vCell2 = vCell1 + 12
vPlage = Cells(vCell1 & vCell2).Select
End With
Ce code ne marche pas
Merci pour votre aide
A voir également:
- Determiner une plage de cellule avec variable
- Bloquer une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Diviser une cellule excel en deux horizontalement ✓ - Forum Excel
- Excel si cellule contient partie texte ✓ - Forum Excel
2 réponses
Bonjour,
Voici un code simple :
Cordialement
Patrice
Voici un code simple :
Sub Test() Dim vPlage As Range 'plage de cellule du tableau Set vPlage = ActiveCell.Resize(12, 3) ' Pour copier la plage, pas besoin de la selectionner vPlage.Copy Destination ' Pour sélectionne la plage : vPlage.Select End Sub
Cordialement
Patrice
Bonjour,
1- pour déclarer tes variables, mieux vaux prendre le bon type. Ici cellule et plage sont de type "Range"
2- Utiliser Offset permet le décalage de lignes et colonnes qui définissent la plage
3- essaie ce code :
Tu dis
1- pour déclarer tes variables, mieux vaux prendre le bon type. Ici cellule et plage sont de type "Range"
2- Utiliser Offset permet le décalage de lignes et colonnes qui définissent la plage
3- essaie ce code :
Sub test()
'déclaration des variables de type Range
Dim plage As Range
Dim Cellu As Range
'affectation aux variables de leur valeur respective
'Cellu = cellule active
Set Cellu = ActiveCell
'plage = range(cellule active, cellule active décalée de 12 lignes et 3 colonnes
Set plage = Range(Cellu, Cellu.Offset(12, 3))
'message à l'utilisateur : adresse de la plage
MsgBox plage.Address
'remise à zéro des variables
Set Cellu = Nothing
Set plage = Nothing
'fin de la préocédure
End Sub
Tu dis