Selection de la dernière ligne

Résolu
marcloarec Messages postés 16 Statut Membre -  
marcloarec Messages postés 16 Statut Membre -
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. Iama Messages postés 324 Statut Membre 14
     
    Bonjour
    Voici un exemple pour la dernière ligne de la colonne
    DreniereLigneLigne = Cells(Columns(4).Cells.Count, 1).End(xlUp).Row
    0
  2. marcloarec Messages postés 16 Statut Membre
     
    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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Peux tu nous remettre, ici, ton code dans l'état actuel?
      0
    2. Iama Messages postés 324 Statut Membre 14
       
      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
  3. marcloarec Messages postés 16 Statut Membre
     
    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. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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. marcloarec Messages postés 16 Statut Membre
       
      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