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

Statistiques des forums

Discussions
312 276
Messages
2 086 714
Membres
103 378
dernier inscrit
phdrouart