Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2671 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  copier/coller entre fichier excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

copier/coller entre fichier excel

n°1729528
shudmeyer
Posté le 07-05-2008 à 14:27:32  profilanswer
 

Bonjour,
 
Donc en faite, j'ai plusieurs fichiers excel ( tous dans un meme dossier, et une partie du nom des fichier est differente ), et je voudrais faire une sorte de copier/coller de certaines données des fichiers qui sont dans le dossier, dans un autre fichier excel ( lui qui sera mon resultat final).
 
Au final, j'aurais dans un seul fichier excel, une partie des données de plusieurs fichier excel ( ceux ci sont de la meme forme, seul les données change).
 
Donc étant débutant sur VBA, je pense meme suis sur qu'il faut ouvrir les fichiers excel du dossier un par un, faire le copier/coller dans mon fichier excel, de refermer le 1er fichier excel et de passer au 2 eme fichier ( ainsi de suite pour copier/coller tout les fichier de mon dossier).
 
En faisant des recherche j'ai vu qu'il fallais mettre un truc du genre, " Workbooks.Open ("C:.../.../.../..sxl.)"  , mais je ne suis pas sur si c'est la bonne méthode, et si c'est la bonne méthode je ne voie pas comment on fais la boucle sur ce fameux " Workbooks.Open ("C: " ...
 
Donc est ce que , ce que je veux tenter est possible ? et si oui j'aurais besoin d'un peu d'aide pour le début, après pour le copier/coller je pense que je peux me débrouiller, mais le problème s'est d'aller chercher les données je pense.
 
Merci

mood
Publicité
Posté le 07-05-2008 à 14:27:32  profilanswer
 

n°1729534
babasss
Posté le 07-05-2008 à 14:37:09  profilanswer
 

Si tu es débutant en VBA, la solution la plus simple est de procéder par mimétisme :outils->macro->nouvelle macro, tu fais les actions que tu attends de ta macro (des trucs simple) et tu vas voir le code qui a été généré puis tu t'en inspires...


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1729552
shudmeyer
Posté le 07-05-2008 à 14:49:48  profilanswer
 

Oui mais on ma deja conseillé de faire ça, mais je bloque sur des truc. En plus faire une macro dans une page excel, et ouvrir une autre page excel ba ça le prend pas en compte.
 
Je suis pas si débutant que ça, mais mon plus grand probleme c'est la boucle ( la je ne peux pas faire avec ta méthode) pour ouvrir les different fichier excel, car je ne sais pas ou mettre les guillemets, la variable dans le nom ...

n°1729628
Xxxaaavvv
Posté le 07-05-2008 à 16:24:28  profilanswer
 

coucou,
voici une boucle :)
 
 

Code :
  1. 'Necessaire pour la boucle
  2.    Dim strFichier As String
  3.  
  4.    'Initialisation de la boucle grace a la fonction DIR
  5.    strFichier = Dir("C:\*.xls" )
  6.      
  7.    'Début de la boucle
  8.    While strFichier <> ""
  9.       Debug.Print "Traitement de " & strFichier
  10.      
  11.       'Ici tu ouvre ton classeur (...)
  12.      
  13.       'Ici tu copie ce que tu souhaite (...)
  14.      
  15.       'Ici tu ferme ton classeur (...)
  16.       'Fin de la boucle : Dir renvoie le prochain nom de fichier correspondant à la chaine de recherche
  17.       strFichier = Dir
  18.    Wend


 
il faut que tu personnalises le chemin de la ligne :
strFichier = Dir("C:\*.xls" )


Message édité par Xxxaaavvv le 07-05-2008 à 16:25:09
n°1729666
86vomito33
Posté le 07-05-2008 à 17:25:17  profilanswer
 

bonjour,
 
j'ai pas testé la boucle de Xxxaaavvv mais je t'en propose une autre au cas où
Set fs = CreateObject("Scripting.FileSystemObject" )
Set f = fs.GetFolder("emplacementdossier" )
Set fc = f.Files
For Each f1 In fc

Next

n°1731454
shudmeyer
Posté le 14-05-2008 à 09:03:13  profilanswer
 

Merci
 
Au vue des 2 boucles proposés, je voie bien que je suis débutant, car je comprend pas tous^^.
 
Mais je cherche plutot une boucle simple d'utilisation, mais je voulais savoir, est ce que une boucle du type est possible ? (avec un for et un next, ou alors mieux m'expliquer coment marche la boucle de 86vomito33, car il y a un next.. for dedans, mais je ne voie pas comment l'utiliser)
 
ma boucle :
 
dim XXX as integer
dim n as integer
 
for XXX = 1 to n
 
workbooks.Open "C:\*\XXX.xls"
workbooks("...." ).worksheets("Resultats" ).cells(14,15)=workbooks("....." & XXX).worksheets("Resultats" ).cells(12,10)
workbooks.SaveAs "C:\*\XXX.xls"
workbooks ("C:\*\XXX.xls" ).close
 
next XXX
 
Voila je ne sais pas si vous comprenez ma bouclem ias la pour moi elle est pas compliqué et elle doit surement comporter des fautes car je l'ai fais vite fais pour vous montré ce que je comprend.
 
Est ce que ma boulce est correct ? et quel boucle est plus interessante parmi les 3 ? et sinon si vous pouviez mieux m'expliquer les 2 autre boucles (surtout la 2eme) sa serait parfait.
 
Merci

n°2127968
alamd
all
Posté le 23-02-2012 à 12:43:01  profilanswer
 

Bonjour
 
je pense que tu ne peut pas faire de boucle car l'objet workbooks est en string
ce que tu peux faire c'est ouvrir tes fichiers un par et copier ce qu'il y a dedans je te donne la procédure
 
Private Sub CommandButton1_Click()
' demande le nom du fichier à ouvrir
Dim chemin As String
Dim fichier As String
fichier = InputBox("entrez le nom du fichier" )
chemin = InputBox("entrez le chemin du fichier" )
ChDir chemin
' selection de la première feuille dépenses
Workbooks.Open Filename:=fichier
 
ensuite tu peux coller ce que tu veux puis le refaire en inputbox
 
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  copier/coller entre fichier excel

 

Sujets relatifs
script linux qui permet de vérifier une valeur dans un fichier .confProblème d'affectation de macro à une feuille excel
vba excel : utiliser la proprièté name d'une celluleLire un fichier texte en J2ME
Générer des mail quel format de fichier?[Fichier TXT] Insérer un élément en début de chaque ligne
VBScript : mettre une image dans un fichierFlash Actions script, fermeture de fichier
Existance d'un fichier[C] lire un fichier......mon dieu aidez moi !!
Plus de sujets relatifs à : copier/coller entre fichier excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR