Macro copier - coller [Fermé]

Signaler
-
 jeunedebutantVBA -
Bonjour à tous,
J'aurais besoin de votre aide pour trouver une macro qui copierai une ligne non vide de la "feuil1" du classeur "srce" pour la coller dans la première ligne vide que la macro trouve dans la "feuil1" du classeur "dest".
Voici un bout de macro :
Sub test2()
Dim srce As Workbook
Dim Dest As Workbook
Set Dest = Workbooks.Open(Filename:="dest")
Workbooks("srce").Sheets("feuil1").Rows(1).Copy Workbooks("dest").Sheets("feuil1").Cells(Rows.Count, 1).End(xlUp)
End Sub
Le problème avec cette macro est qu'elle colle la ligne non vide de la "feuil1" du classeur "srce" dans la dernière ligne non vide de la "feuil1" du classeur "dest".
Or, je souhaiterais que si la macro détecte qu'une ligne de la "feuil1" du classeur "dest" est non vide, alors elle la saute et colle dans la ligne suivante seulement si cette ligne est vide.
J'espère que j'ai été assez explicite.
Merci pour votre aide.

4 réponses

Messages postés
16450
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
12 mai 2021
3 171
Bonjour

essaie
Workbooks("srce").Sheets("feuil1").Rows(1).Copy Workbooks("dest").Sheets("feuil1").Cells(Columns("A").Find("").Row, "A")  
 Michel

Bonjour, j'ai essayé ton code mais ça ne marche pas. Avec ton code, le collage s'effectue sur la dernière ligne non vide de la "feuil1" du classeur "dest".
Or je ne veux pas que la macro écrive sur des lignes non vides.
1) Je souhaiterais qu'elle écrive uniquement sur des lignes vides
2) Je souhaiterais qu'elle soit capable d'écrire dans la première ligne vide qu'elle rencontre.
Par exemple : si les 20 premières lignes de la "feuil1" du classeur "dest" sont non vides et que la 21e ligne est vide, alors je voudrais que le collage se fasse dans cette 21e ligne.
Messages postés
16450
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
12 mai 2021
3 171
Tu as écris:
Merci pour avoir essayé de m'aider

Désolé, j'avais testé avant de répondre et c'était OK

La preuve
https://mon-partage.fr/f/e6Ya2IwO/

J'ai ouvert ton classeur et essayé ta macro. Elle identifie ou trouve seulement la ligne vide en l’occurrence la ligne A15 dans ton classeur. Or je souhaiterais qu'elle trouve les lignes vides de la "feuil1" du classeur "dest" et qu'elle y colle aussi toutes les lignes non vides provenant de la "feuil1" du classeur "srce".

De plus, autre problème auquel je n'avais pas pensé.
Si l'utilisateur ferme le classeur "srce" et le reouvre après pour écrire de nouvelles lignes sur la "feuil1" du classeur "srce" à la suite des précédentes lignes non vides. Il faudrait qu'une autre macro soit capable de copier uniquement toutes ces nouvelles lignes pour les coller dans "feuil1" du classeur "dest" et non copier toutes les lignes (c'est-à-dire les précédentes lignes qui ont déjà été copiées par la 1ère macro + les nouvelles lignes).
Est-ce possible ?

Merci beaucoup pour ton aide
Messages postés
16450
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
12 mai 2021
3 171
Bonjour,

Avec ton code, le collage s'effectue sur la dernière ligne non vide
..."Elle identifie ou trouve seulement la ligne vide"...


BOULOT EFFECTUE

merci pour ton aide