Transfert données de cellules excel d'un fichier sur un autre
jipsi
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde
Je suis débutant en macro Excel et je bute sur la finalisation d'une macro qui va chercher des cellules dans un classeur » bla bla » qui est multiple pour les recopier dans un autre classeur « listing » qui est unique.
Je cherche à récupérer les données de plusieurs cellules dispersées du classeur BlaBla pour les ranger dans le classeur listing sur une ligne qui sera incrementée au fur et à mesure des nouveaux classeurs Blabla.
Je transcris le code VBA qui coince :
Sub Recopiedonnées()
'
' Recopiedonnées Macro
' Macro enregistrée le 15/08/2015 par jpschoch
'
Dim Entree As Workbook, Sortie As Workbook
Nomfichierentree = ActiveWorkbook.Name
Dim Chemin As String
Chemin = "C:\Users\jean-pierre\Desktop\Nouveau crop 2015 double"
NomFichierSortie = "Application.GetOpenFilename (listing.xls)"
Chemin = "C:\Users\jean-pierre\Desktop\Nouveau crop 2015 double\Historique"
Set NomFichierSortie = Workbooks.Open(listing.xls)
Sortie.Worksheets("Feuil1").Cells(A$, B$) = Entree.Worksheets("Feuil1").Cells(D5, F5)
ThisWorkbook.SaveAs Filename:=Chemin & Worksheets("Feuil1")
Close
End Sub
Cela bloque au niveau de la ligne :
Set NomFichierSortie = Workbooks.Open(listing.xls)
Avec au débogage :
Erreur d'exécution « 424 »
Objet requis
Merci d'avance pour votre aide
Bonne soirée à tous
jipsi
Je suis débutant en macro Excel et je bute sur la finalisation d'une macro qui va chercher des cellules dans un classeur » bla bla » qui est multiple pour les recopier dans un autre classeur « listing » qui est unique.
Je cherche à récupérer les données de plusieurs cellules dispersées du classeur BlaBla pour les ranger dans le classeur listing sur une ligne qui sera incrementée au fur et à mesure des nouveaux classeurs Blabla.
Je transcris le code VBA qui coince :
Sub Recopiedonnées()
'
' Recopiedonnées Macro
' Macro enregistrée le 15/08/2015 par jpschoch
'
Dim Entree As Workbook, Sortie As Workbook
Nomfichierentree = ActiveWorkbook.Name
Dim Chemin As String
Chemin = "C:\Users\jean-pierre\Desktop\Nouveau crop 2015 double"
NomFichierSortie = "Application.GetOpenFilename (listing.xls)"
Chemin = "C:\Users\jean-pierre\Desktop\Nouveau crop 2015 double\Historique"
Set NomFichierSortie = Workbooks.Open(listing.xls)
Sortie.Worksheets("Feuil1").Cells(A$, B$) = Entree.Worksheets("Feuil1").Cells(D5, F5)
ThisWorkbook.SaveAs Filename:=Chemin & Worksheets("Feuil1")
Close
End Sub
Cela bloque au niveau de la ligne :
Set NomFichierSortie = Workbooks.Open(listing.xls)
Avec au débogage :
Erreur d'exécution « 424 »
Objet requis
Merci d'avance pour votre aide
Bonne soirée à tous
jipsi
A voir également:
- Transfert données de cellules excel d'un fichier sur un autre
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Impossible de supprimer un fichier - Guide
- Fichier rar - Guide
1 réponse
Bonjour Jipsi, bonjour le forum,
Le code bloque car tu dois renseigner le chemin d'accès complet :
Mais il bloquera après à cause des Cells(A$, B$) ou Cells(D5, F5) qui n'est pas la syntaxe correcte...
Ou plus tard avec le SaveAs étrange...
Si j'ai bien compris ton problème voici le code à placer dans le classeur qui contient les données (le "blabla")
Le code bloque car tu dois renseigner le chemin d'accès complet :
Set NomFichierSortie = Workbooks.Open("C:\Users\jean-pierre\Desktop\Nouveau crop 2015 double\Historique\listing.xls")
Mais il bloquera après à cause des Cells(A$, B$) ou Cells(D5, F5) qui n'est pas la syntaxe correcte...
Ou plus tard avec le SaveAs étrange...
Si j'ai bien compris ton problème voici le code à placer dans le classeur qui contient les données (le "blabla")
Sub Macro1() Dim CS As Workbook 'définit la variable CS (Classeur Source) Dim OS As Worksheet 'définit la variable OS (Onglet Source) Dim CD As Workbook 'définit la variable CD (Classeur Destination) Dim OD As Worksheet 'définit la variable OD (Onglet Destination) Dim DEST As Range 'définit la variable DEST (cellule de DESTination) Set CS = ThisWorkbook 'définit le classeur source CS Set OS = CS.Sheets("Feuil1") 'définit l'onglet source OS 'définit le classeur destination CD Set CD = Workbooks.Open("C:\Users\jean-pierre\Desktop\Nouveau crop 2015 double\Historique\listing.xls") Set OD = CD.Sheets("Feuil1") 'définit l'onglet destination OD 'définit la cellule de destination DEST (A1 si A1 est vide, sinon la première cellule vide de la colonne 1 (=A) de l'onglet OD) Set Range = IIf(OD.Range("A1") = "", OD.Range("A1"), OD.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)) DEST.Value = OS.Range("D5").Value 'récupère dans DEST la valeur de D5 de l'onglet source OS DEST.Offset(0, 1).Value = OS.Range("F5").Value 'récupère dans DEST décalée d'une colonne à droite la valeur de F5 de l'onglet source OS CS.Close False 'ferme le classeur source sans enregistrer les modifications CD.Save 'enregistre les modification du classeur destination CD 'si tu veux le fermer aussi, remplace la ligne au-dessus par : 'CD.Close True 'ferme le classeur destination en enregistrant les modifications End Sub