Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro copier/coller jusqu'à la dernier ligne

  • Initiateur de la discussion Initiateur de la discussion noemie45
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

noemie45

XLDnaute Occasionnel
Bonjour,
je suis débutante en macro!!
Voici mon problème
j'ai un fichier (fichier A) je souhaiterais copier et coller en valeur les lignes remplies (non vide) de la feuille 1 du fichier A.
Dans un autre fichier (fichier B).

Je souhaiterais connaitre le langage qui permet de faire un copier/coller jusqu'à la ligne non vide.

Merci beaucoup
 
Re : macro copier/coller jusqu'à la dernier ligne

Bonsoir

As-tu pris le temps de regarder dans les Discussions similaires ?
(ou d'utiliser la loupe en haut à droite de l'écran)

Normalement tu devrais trouver beaucoup de discussions plus ou moins proches de ta question, auxquelles diverses solutions furent déjà apportées.

Notamment pour ce qui concerne la dernière ligne
Derlig= [A655536].end(xlup).Row

devrait par exemple souvent revenir.

Histoire de te mettre sur la voie (et pour me désennuyer)
Code:
Sub a()
Dim source As Workbook, destin As Workbook, derlig As Long
Set source = ThisWorkbook
Set destin = Workbooks("Classeur2")
source.Activate
derlig = source.Sheets(1).[A65536].End(xlUp).Row
source.Sheets(1).Range("A1:A" & derlig).Copy destin.Sheets(1).[A1]
End Sub
Ce n'est qu'un exemple qu'il faudra adapter à ton futur fichier exemple 😉

EDITION: Bonsoir JNP (toi aussi tu es encore dans l'esprit de Noel ; ) )
 
Dernière édition:
Re : macro copier/coller jusqu'à la dernier ligne

Bonjour Noemy45 🙂,
Sans fichiers exemples pour avoir une idée de ton réel problème, il ne faut pas t'étonner de ne pas avoir de réponse 🙄...
Stricto senso, ce qu'on peux te dire, sous condition que les 2 classeurs soient ouverts, c'est que
Code:
Workbooks("A").Sheets("Feuil1").Range("A" & 65536).End(xlUp).Row
te donnera la dernière ligne utilisée de la Feuil1 du classeur A et que
Code:
Workbooks("A").Sheets("Feuil1").Range("A1:C10").Copy Workbooks("B").Sheets("Feuil1").Range("A1:C10")
te copiera les cellaules A1 à C10 dans le classeur B 😛...
Bon courage 😎
Ajout : Salut Jean-Marie 😉
 
Re : macro copier/coller jusqu'à la dernier ligne

Bonjour,
merci pour les réponses!
par contre, je ne connais pas le nombre de ligne de mon tableau, c'est pour cela que je veux connaître la dernier ligne.

Donc comment éviter le
range (a1:c10)
merci
 
Re : macro copier/coller jusqu'à la dernier ligne

Re 🙂,
Ah les filles 🙄
Par exemple
Code:
DerLigne = Workbooks("A").Sheets("Feuil1").Range("A" & 65536).End(xlUp).Row
Workbooks("A").Sheets("Feuil1").Range("A1:C" & DerLigne).Copy Workbooks("B").Sheets("Feuil1").Range("A1:C" & DerLigne)
A + 😎
 
Re : macro copier/coller jusqu'à la dernier ligne

Re

JNP: T'as oublié le Dim (et ça ça les connait les filles 😉 )
(Quoiqu'ici on n'a pas besoin de la paire)

PS1: Tu es trop bon décidément 😉
Et trop généreux
Code:
Workbooks("B").Sheets("Feuil1").Range("A1")
devrait suffire 😉

PS2😡noemie45:T'avais pas lu mon Edith de 18h06?
 
Dernière édition:
Re : macro copier/coller jusqu'à la dernier ligne

Comme je disais dans mon message je suis très très débutante en VBA, et je dois avouer que vous êtes un peu trop calés pour moi.
est il possible de m'expliquer les étapes une par une?
 
Re : macro copier/coller jusqu'à la dernier ligne

Re


Ou doit-on commencer l'explication ?

Pourquoi 65536 ?
Parce une feuille Excel compte 65536 lignes (plus dans Excel 2007 et 2010)

On part donc de la dernière ligne et on remonte pour trouver la dernière cellule non vide
avec [A65536].End(xlUp).Row

EDITION:
Essayes cette simple macro pour mieux comprendre
Code:
Sub aa()
Dim derligne As Long
Range("A1:A10") = Now
derligne = [A65536].End(xlUp).Row
MsgBox Range("A" & derligne).Address & vbCrLf & Range("A" & derligne)
End Sub

Dans cet exemple la dernière ligne non vide est bien la ligne 10, et comme on spécifie la colonne A
Ce qui s'affiche est bien l'adresse de la cellule A10 et sa valeur.

PS: Pour lancer une macro : Faire:
1) Outils/Macros/Microsodt Visual Basic Editor (ou faire ALT+F11)
2) Insertion/Module copier le code VBA de ce message
3) faire ALT+Q puis Outils/Macros/aa ->Exécuter
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
19
Affichages
708
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…