dim TonContenu as variant For x = 0 To 4 TonContenu+ = Cells(3, x) Next x ' Pour selectionner la dérniere cellule plein de la colonne C Range("C65535").Select Selection.End(xlUp).Select 'Pour recup la position de la dernière cellules de la colonne C Dim PosX, PosY As Variant PosX = ActiveCell.Column PosY = ActiveCell.Row Cells(PosY, PosX ).Select ActiveSheet.Paste 'pour coller uniquement la valeur Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Option Explicit Sub Test() Dim r As Range, c As Range With ActiveSheet 'Ou Worksheets("MaFeuille") ' Plage à copier Set r = .Range("C3:G3") ' Plage continue contenant la dernière cellule non vide en partant de C3 Set c = Intersect(.Range("C3").CurrentRegion, .Columns("C")) ' Dernière cellule non vide en partant de C3 Set c = .Cells(c.Row + c.Rows.Count - 1, "C") End With ' Copier les valeurs c.Resize(r.Rows.Count, r.Columns.Count).Value = r.Value End Sub
Modifié le 15 mars 2019 à 16:35
Avec VBA, il faut absolument éviter d'utiliser .Select, c'est la principale source d'erreur quand les codes ne fonctionnent plus.
15 mars 2019 à 23:54