Selection de la dernière ligne

Résolu/Fermé
marcloarec Messages postés 14 Date d'inscription mardi 24 mars 2015 Statut Membre Dernière intervention 5 juillet 2016 - Modifié par pijaku le 24/03/2015 à 14:05
marcloarec Messages postés 14 Date d'inscription mardi 24 mars 2015 Statut Membre Dernière intervention 5 juillet 2016 - 24 mars 2015 à 14:43
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

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
24 mars 2015 à 14:06
0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
24 mars 2015 à 14:09
Bonjour
Voici un exemple pour la dernière ligne de la colonne
DreniereLigneLigne = Cells(Columns(4).Cells.Count, 1).End(xlUp).Row
0
marcloarec Messages postés 14 Date d'inscription mardi 24 mars 2015 Statut Membre Dernière intervention 5 juillet 2016
24 mars 2015 à 14:20
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
24 mars 2015 à 14:35
Peux tu nous remettre, ici, ton code dans l'état actuel?
0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
24 mars 2015 à 14:41
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
marcloarec Messages postés 14 Date d'inscription mardi 24 mars 2015 Statut Membre Dernière intervention 5 juillet 2016
Modifié par pijaku le 24/03/2015 à 14:37
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
24 mars 2015 à 14:39
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
marcloarec Messages postés 14 Date d'inscription mardi 24 mars 2015 Statut Membre Dernière intervention 5 juillet 2016
24 mars 2015 à 14:43
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