XL 2013 Derniere ligne d'un tableau comportant une mise en forme

gregos123

XLDnaute Nouveau
Bonjour

Je souhaite copier une mise en forme d'une ligne, et la coller a la fin de mon tableau excel avec cellule vide, mais cette ligne va varier.

Je suis arrivé à faire le code ci dessous, cependant j'arrive pas à que sa se répète et qu'a chaque fois ça me créer une nouvelle ligne a l'endroit de la dernière ligne de mon tableau (vide ou non vide peu importe).



Code:
   Private Sub CommandButton1_Click()
    With Worksheets(Sheets.Count)
    Range("A10:L10").Select
    Selection.Copy
    End With
    With Worksheets(Sheets.Count)
    Dim derlig As Integer
    derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    Range("A" & derlig + 1).Select

    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    End With
    End Sub

Cordialement

@+
 

Staple1600

XLDnaute Barbatruc
Re : Derniere ligne d'un tableau comportant une mise en forme

Bonjour à tous__________________EDITION: Bonjour PMO2

Bienvenue sur XLD, gregos123

Puisque tu disposes d'Excel 2013,tu aurais tout avantage à utiliser l'objet Tableau
(voir Ce lien n'existe plus entre autres pour un tutoriel réalisé par Misange, membre d'XLD)

Et si tu veux utiliser le VBA, voir Ce lien n'existe plus. (toujours mitonné par Misange)

EDITION: Sinon pour info ton code VBA de ton premier message peut s'écrire plus simplement
VB:
Private Sub CommandButton1_Click()
With Worksheets(Sheets.Count)
.Range("A10:L10").Copy    
.Cells(Rows.Count, 1).End(xlUp)(2).PasteSpecial Paste:=xlPasteFormats
End With
Application.CutCopyMode = False
End Sub




 
Dernière édition:

PMO2

XLDnaute Accro
Re : Derniere ligne d'un tableau comportant une mise en forme

Bonjour,

C'est normal car l'instruction
Code:
derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
va trouver toujours la même ligne (rien n'a été renseigné).

Mettre un espace (ou autre) dans la nouvelle ligne pour que l'action de la macro puisse continuer
Code:
 Private Sub CommandButton1_Click()
    With Worksheets(Sheets.Count)
    Range("A10:L10").Select
    Selection.Copy
    End With
    With Worksheets(Sheets.Count)
    Dim derlig As Integer
    derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    Range("A" & derlig + 1).Select

    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    
 Selection = Space(1)   '///grosse bidouille
  
    End With
    End Sub
 

Discussions similaires

Réponses
3
Affichages
654

Statistiques des forums

Discussions
312 765
Messages
2 091 893
Membres
105 087
dernier inscrit
Laubecks