Transfert données de cellules excel d'un fichier sur un autre

Fermé
jipsi Messages postés 1 Date d'inscription lundi 25 août 2014 Statut Membre Dernière intervention 15 août 2015 - 15 août 2015 à 21:46
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 16 août 2015 à 13:44
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
A voir également:

1 réponse

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
16 août 2015 à 13:44
Bonjour Jipsi, bonjour le forum,

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


0