Relation entre 2 workbook via un enregistrement sous csv
Blindavi
Messages postés20Date d'inscriptionmercredi 14 octobre 2009StatutMembreDernière intervention24 juillet 2012
-
26 juin 2012 à 12:52
Blindavi
Messages postés20Date d'inscriptionmercredi 14 octobre 2009StatutMembreDernière intervention24 juillet 2012
-
27 juin 2012 à 09:49
Bonjour le forum,
Voila je possède deux documents xl, l'un contenant mes valeurs sous la forme d'un tableau croisé dynamique et un autre contenant un tableau de valeurs en fonction du temps afin d'obtenir un graphique.
Je souhaiterais ainsi copier mes valeurs provenant du pivot vers une colonne dediée de mon tableur de valeur.
Je pensais passer par l'intermediaire d'un fichier .csv afin d'extraire les valeurs du pivot et ensuite importer les valeurs dans mon autre workbook dans la colonne souhaitée.
Puis je importer une certaine colonne d'un fichier .csv dans une feuille .xl?
Eventuellement je pensais effectuer l'enregistrement "Save as" en fichier .csv et l'import de données sur ma feuille xl via un bouton de commande et un programme en vba associé.
Dans cette optique, j'ai redigé le programme ci dessous mais je rencontre un conflit entre le fichier csv et le fichier d'origine puisqu'il ne prend pas en compte la ligne Activeworkbook.save apres l'enregistrement sous csv. En effet méme avec le "save' il me demande si je veux sauvegarder, ce qui mets en péril l'éxécution du reste du programme
De plus mon fichier avec le pivot se nomme désormais de la méme facon que mon fichier csv..:/
Cela fait un moment que je planche sur cela, j'ai besoin d'un regard neuf et surement plus experimenté en VB.
Merci d'avance
Ci dessous le code :
Private Sub CommandButton1_Click()
Dim wb As Workbook
Dim ws As Worksheet
ChDir "D:\Documents and Settings\39518\Desktop\draft"
'enregistrement sous en csv
ActiveWorkbook.SaveAs Filename:= _
"D:\Documents and Settings\39518\Desktop\draft\TestQueing.csv", FileFormat _
:=xlCSV, CreateBackup:=False
'sauvegarde du fichier avec le pivot
ActiveWorkbook.Save
'fermeture du fichier
ActiveWorkbook.Close
'ouverture du fichier csv
Workbooks.Open Filename:= _
"D:\Documents ans Settings\39518\Desktop\draft\TestQueing.csv"
'selection de la premiere serie de donnee
Range("C8:C31").Select
'copie
Selection.Copy
'ouverture du fichier recuperant les valeurs
Workbooks.Open Filename:= _
"D:\Documents and Settings\39518\Desktop\draft\Masterfiletest.xls"
'selection et coller
Range("C2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'retour au fichier csv et meme approche pour la prochaine serie de donnees
Windows("TestQueing.csv").Activate
Range("C33:C56").Select
Selection.Copy
Windows("Masterfiletest.xls").Activate
Range("C27").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
A voir également:
Relation entre 2 workbook via un enregistrement sous csv
Blindavi
Messages postés20Date d'inscriptionmercredi 14 octobre 2009StatutMembreDernière intervention24 juillet 2012 27 juin 2012 à 09:49
bonjour cmarcotte, le forum,
passer via un fichier csv me permet de supprimer les filtres du pivot et de recupérer le résultat du pivot.
Cela me permet en outre de ne pas utiliser la fonction GetPivotData, j'ai essayé mais pas moyen de l'utiliser comme il faut donc j'ai choisi cette solution alternative.
Si par hasard tu as le bout de code pour extraire une série de valeurs d'un pivot et les copier dans une feuille d'un autre workbbok, je suis plus qu'intéressé!!