Selection de la dernière ligne

Résolu
Bonjour,

J'aimerais faire une macro qui prend les premières valeurs de mon tableau, puis coupe la fin du tableau et la colle sur un autre. Le problème est qu'à chaque nouveau tableau la dernière ligne n'est plus la bonne et j'aimerais que la macro sélectionne d'elle même cette dernière ligne...
Sub Découpe_Excel()
'
' Découpe_Excel Macro
'
' Touche de raccourci du clavier: Ctrl+Shift+D
'


    Rows("30389:??"fin du fichier"??").Select
    
    Selection.Cut
    Workbooks.Add
    ActiveSheet.Paste
End Sub


Je sais que c'est tout bête mais je débute...
Quelqu'un aurait-il la solution?

4 réponses

  1. Bonjour
    Voici un exemple pour la dernière ligne de la colonne
    DreniereLigneLigne = Cells(Columns(4).Cells.Count, 1).End(xlUp).Row
    0
    1. Merci beaucoup à vous deux,
      Il me reste un problème, lorsque je fais cette ligne de code et que je remplace ma valeur finale par DreniereLigneLigne, Excel me renvoie un message d'incompatibilité 13.
      N'a t il pas enregistré DreniereLigneLigne comme valeur finale?
      0
      1. Modérateur
        Peux tu nous remettre, ici, ton code dans l'état actuel?
        0
      2. DreniereLigneLigne représente le numéro de la dernière ligne, en partant de la ligne 1 ( Tu dois modifier la ligne si la première en vide)
        Autrement tu peux me faire parvenir ton code
        cordialement
        0
    2. Bien sûr. Le voici

      Sub Découpe_Excel()
      '
      ' Découpe_Excel Macro
      '
      ' Touche de raccourci du clavier: Ctrl+Shift+D
      '
      DerniereLigneLigne = Cells(Columns(4).Cells.Count, 1).End(xlUp).Row
      
          Rows("30389:DerniereLigneLigne").Select
          
          Selection.Cut
          Workbooks.Add
          ActiveSheet.Paste
      End Sub
      0
      1. Modérateur
        DerniereLigneLigne (drôle de nom pour cette variable) est une variable. En conséquence, elle se doit d'être :
        • déclarée,
        • "sortie" des guillemets.

        Soit le code suivant :
        Sub Découpe_Excel()
        '
        ' Découpe_Excel Macro
        '
        ' Touche de raccourci du clavier: Ctrl+Shift+D
        '
        Dim DerniereLigneLigne As Long
        DerniereLigneLigne = Cells(Columns(4).Cells.Count, 1).End(xlUp).Row
        
            Rows("30389:" & DerniereLigneLigne).Select
            Selection.Cut
            Workbooks.Add
            ActiveSheet.Paste
        End Sub
        0
      2. Oui c'était dû au commentaire précédent avec lequel j'avais essayé.
        Merci beaucoup en tout cas le code marche très bien, je vois enfin l'erreur que je faisais.
        Ça me sera très certainement utile pour la suite.
        Bonne continuation
        0