Compilation de llignes

bobjazz

XLDnaute Impliqué
Bonjour le Forum;

Je viens vers vous, j'ai essayé d'adapter une macro que j’emploie dans un autre fichier, mais là j'ai bloqué l'après-midi dessus.
Et je pense que pour un expert ce sera plus facile.
Je joins 3 fichier, 2 qui sont les sources et 1 qui est la destination.
Dans la réalité, mon but est de compiler des fichiers identiques une fois par mois
Quand j'ouvre le fichier destination, dans la feuille je lance la macro à l'aide du bouton MAJ.
La macro actuellement copie les lignes des sources à la suite.
Mais l’évolution que je voudrais faire est écrite dans mon fichier destination, plus facile à comprendre et à expliquer.

Merci d'avance

Bobjazz
 

Pièces jointes

  • Bob Compil.zip
    450.3 KB · Affichages: 46

bobjazz

XLDnaute Impliqué
Re : Compilation de llignes

Bonjour le Forum

Je vois que beaucoup de personnes ont ouvert mon fil, mais n'ont pas d'idée.
Dans un premier temps, est-ce possible?
Sinon je vais expliquer mieux ce que je veux j'ai passé une bonne partie de la nuit à composer des codes sans succès.
A partir du fichier Bob destination V1, je lance la macro qui ferait :
1 - j'efface les lignes présentes dans le tableau à partir de la ligne 12 jusqu'à la première ligne qui serait vide dans la colonne F (dans mon exemple F47), pour le moment je faisais :
Feuil9.Rows("12:40000").ClearContents,
2 - j'ouvre les fichiers que je veux compiler (pour l'exemple Bob source1 et 2), là cela fonctionne voici le code :
Sub MAJ()
Dim classeurSource As Workbook, classeurDestination As Workbook, Fichiers, Filtre$, i%, DerLigne As Long

Feuil9.Rows("12:40000").ClearContents
Set classeurDestination = ThisWorkbook
Fichiers = Application.GetOpenFilename(Filtre, 1, "Sélection des fichiers", , True)
If IsArray(Fichiers) = False Then Exit Sub
For i = LBound(Fichiers) To UBound(Fichiers)
Set classeurSource = Application.Workbooks.Open(Fichiers(i))
3 - je copie les lignes de chaque fichier, de la ligne 12 jusqu'à la première ligne qui serait vide dans la colonne F (dans mes exemple source 1 jusqu'à la ligne 38 et la source 2 ligne 19) le nombre de lignes est aléatoire chaque fois.
Je partais à partir de ce code
DerLigne = classeurSource.Sheets("AIPC détaillée BU").Range("f" & Rows.Count).End(xlUp).Row
classeurSource.Sheets("AIPC détaillée BU").Range("f12:jr" & DerLigne).Copy
4 - je colle mes lignes à la suite en gardant les valeurs, les formules et les MFC et je ferme les sources je suis parti de ce code
classeurDestination.Sheets("AIPC détaillée BU").Range("f" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Application.DisplayAlerts = False
classeurSource.Close False

Voilà mon besoin
Si ce n'est pas possible ou compliqué, pouvez-vous me le dire, comme cela je construirai autrement mes fichiers.

Merci d'avance

Bobjazz
 

Discussions similaires

Réponses
3
Affichages
524
Réponses
4
Affichages
174

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch