Copier une ligne de X classeurs vers un autre sans les ouvrir

lematou

XLDnaute Occasionnel
Bonjour et meilleurs vœux à tous,

Voilà ma question :
J’ai un dossier RECUP dans lequel j’enregistre des fichiers Excel 2003 (400 environs) tous renommés différemment. Ex : 096512g.xls
J’ai aussi un fichier Excel ouvert, appelé COMPIL où je veux récupérer les données de chaque fichiers du dossier RECUP
Ces fichiers de formes identiques, ont une ligne 3 feuille 1 que je veux copier dans mon fichier COMPIL à partir d’une macro VBA située dans ce fichier qui est ouvert.
1) je voudrais copier, sans les ouvrir, la ligne 3 (en valeur) de chaque fichier contenu dans le dossier RECUP vers la 2ème ligne de la feuille 1 de mon fichier COMPIL puis la troisième, quatrième… Et ainsi de suite pour les 400 fichiers.
2) Je me retrouverai donc avec un fichier COMPIL, feuille 1 qui contiendra 440 lignes.plus la ligne de titres.

J’ai regardé quelques exemples de VBA mais je n’ai su qu’ouvrir le dossier et une boite de dialogue me demande d’ouvrir le fichier choisi ????
Y a-t-il une solution existante ?
Merci à tous.
 

lematou

XLDnaute Occasionnel
Re : Copier une ligne de X classeurs vers un autre sans les ouvrir

Merci Pierrot 93
En tout cas merci pour ta réponse rapide.
ET qui fonctionne sur un test que j'ai fait...
Je cherche des solutions pour adapter les différents codes à mon problème. Je n'ai pas une cellule mais la ligne entière à recopier.
Mais je vais me dépatouiller avec ton lien vers Michel xld.
Serait-il possible de déprotéger la feuille de chaque fichiers listés? Car je les reçoit par mail.
Là je vais faire une pause jusqu'à demain matin.
A bientôt
 

lematou

XLDnaute Occasionnel
Re : Copier une ligne de X classeurs vers un autre sans les ouvrir

Bonjour à tous,
Je reprend ma question de départ car après bien des tentatives pour modifier le code de plusieurs fonctions VBA je n'arrive à rien..
Quelqu'un pourrait-il me guider?
J'ai essayé les tutos de Michexld....
Merci
 

lematou

XLDnaute Occasionnel
Re : Copier une ligne de X classeurs vers un autre sans les ouvrir

Bonjour à tous,
Merci
J'ai fini par y arriver avec l'activation de FSO et ça marche (activer dans outils>référence : Microsoft Scripting Runtine)

Sub RécupererLignesFichiersFermes()
Dim CheminDossier As String
Dim NomClasseurPrincipal As String
Dim oFolder As folder 'je définis la variable oFichier comme étant un Dossier, répertoire,
Dim oFichier As File
Dim oClasseur As Workbook
Dim oFSO As New FileSystemObject 'objet d'accès aux fichiers = FileSystemObjec
Dim OExcel As New Excel.Application
Range("A3:BD6500").Clear
Range("A3").Select
CheminDossier = Application.ActiveWorkbook.Path
NomClasseurPrincipal = Application.ActiveWorkbook.Name
Set oFolder = oFSO.getfolder(CheminDossier)
'MsgBox "Il y a " & oFolder.Files.Count & " fichier(s) dans le dossier" & vbCrLf & oFolder.Path (pour voir)

For Each oFichier In oFolder.Files
If oFichier.Name <> NomClasseurPrincipal Then
Set oClasseur = OExcel.Workbooks.Open(oFichier.Path)
oClasseur.Sheets("FeuilleCachee").Range("A3:BD3").Copy
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Range("A1").Select 'Décaler d'une ligne vers le bas dans la plage à partir de A1 de la plage elle-même
oClasseur.Close
End If
Next
Set oFichier = Nothing 'la place dans la mémoire utilisée est maintenant libérée.
End Sub
 

lematou

XLDnaute Occasionnel
Re : Copier une ligne de X classeurs vers un autre sans les ouvrir

Bonjour le Fil ,
J’avais déjà posé la question dans ce m^me message. Je ne sais pas si je dois continuer ou repremdre une autre discussion?

J’ai plusieurs dizaines de fichier 2003 que je mets dans le même dossier que mon fichier RECUP.
les fichiers ont deux feuilles masquées appelées « Debut » et « SUITE ». Ces deux feuilles récupèrent les données d’un questionnaire en ligne 3. Le questionnaire étnt très long . j’ai la ligne 3 de la feuille début qui va de A à IR
Idem pour la feuille suite. en ligne 3 également. J’utilise . Offset.
Dans mon fichier Recup je veux que chaque ligne 3 des fichier fermé vienne se mettre sous le fichier suivant
La macro de dessus marche très bien pour la Feuille active. mais j’ai deux soucis
1)si je dépasse la copie de A3 : CG3) un boite me demande si je veux enregistrer le presse papier. Et ça bloque la macro . Peut-on contourner ce problème ???
2)Je ne sais pas dans la boucle comment coller dans la feuille Recup_Debut puis dans la feuille Recup _suite
Pouvez-vous me donner une idée ?
Merci à tous.
 

Discussions similaires

Statistiques des forums

Discussions
312 379
Messages
2 087 762
Membres
103 661
dernier inscrit
fcleves