Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sélectionner une plage de donnée à partir d'une cellule

Wishguu

XLDnaute Nouveau
Bonjour,

J'ai une routine qui me permet de copier coller des lignes en fonction d'un critère présent dans la première cellule.

Code:
    If UCase(.Cells(i, 1)) = "1" Then
    .Cells(i, 2).EntireRow.Copy Destination:=Range("Tableau4").Cells(j, 1)

Cependant, je ne veux pas copier la totalité de la ligne mais juste les cellules à partir de la cellule définie par "Cells(i, 2)"

le résultat serait quelque chose du genre :

Code:
    If UCase(.Cells(i, 1)) = "1" Then
    .Range(Cells(i, 2).End(xltoRight)).Copy Destination:=Range("Tableau4").Cells(j, 1)

Une simple question de syntaxe, mais je bloque...
 

Staple1600

XLDnaute Barbatruc
Re : Sélectionner une plage de donnée à partir d'une cellule

Bonjour à tous


Utilises Resize
(dans cet exemple j'ai "resizé" de 5 cellules)
If UCase(.Cells(i, 1)) = "1" Then
.Cells(i, 2).Resize(,5).Copy Range("Tableau4").Cells(j, 1)

PS
: On peut ne pas écrire le:
Destination:=
 

Staple1600

XLDnaute Barbatruc
Re : Sélectionner une plage de donnée à partir d'une cellule

Re

Tu devrais pouvoir t'en sortir en t'inspirant de ceci
(voir notamment ce que contient le Resize)
Code:
Sub a()
'ceci est juste une macro de test pas une solution
MsgBox ActiveCell.Resize(, Cells(ActiveCell.Row, Columns.Count).End(xlToLeft).Column).Address
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…