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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [EXCEL] Insérer contenu d'une feuille dans un autre fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[EXCEL] Insérer contenu d'une feuille dans un autre fichier

n°1582840
kikidonc
Posté le 05-07-2007 à 15:11:02  profilanswer
 

:hello:  
 
J'ai aucune compétence en VBA :/
 
J'ai 15 fichiers excels, je voudrais faire 1 fichier excel qui les affiche chacun dans 1 feuille (de manière a ne pas avoir a ouvrir les 15 fichiers)
 
J'arrive a insérer le contenu des cellules en faisant insérant la formule : ='D:\Fichier1.xls]Feuille1!A1, mais ca ne récupère pas le format de la cellule (couleur surtout)
 
Je pense qu'il doit pas être dur d'éditer la feuille excel et de lui dire d'aller chercher le contenu dans un autre fichier ? (sans devoir l'ouvrir)
 
Ou solution B, me dire comment on récupère le format d'une autre cellule :D
 
Merci à celui qui a une piste :jap:

mood
Publicité
Posté le 05-07-2007 à 15:11:02  profilanswer
 

n°1582844
jpcheck
Pioupiou
Posté le 05-07-2007 à 15:17:15  profilanswer
 

le macro recorder doit pouvoir t'aider a faire cela.
essaie de faire ce que tu veux en enregistrant, et on décortiquera le code fourni. :)

n°1582881
kikidonc
Posté le 05-07-2007 à 16:26:12  profilanswer
 

Je sais pas trop me servir des macros mais ca a l'air efficace :)
 
Donc j'ai à peu prêt réussi à faire ce que je voulais :
 

Code :
  1. Sub Macro()
  2.     Range("A1" ).Select
  3.     ActiveCell.FormulaR1C1 = "='[Fichier2.xls]Feuille1'!RC"
  4.     Range("A1" ).Select
  5.     Selection.Copy
  6.     Range("A2:A1000" ).Select
  7.     ActiveSheet.Paste
  8.     Columns("A:A" ).Select
  9.     Application.CutCopyMode = False
  10.     Selection.Copy
  11.     Columns("B:E" ).Select
  12.     ActiveSheet.Paste
  13.     Windows("Fichier2.xls" ).Activate
  14.     Columns("A:E" ).Select
  15.     Application.CutCopyMode = False
  16.     Selection.Copy
  17.     Windows("Fichier1.xls" ).Activate
  18.     Range("A1" ).Select
  19.     Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
  20.         SkipBlanks:=False, Transpose:=False
  21.     Application.CutCopyMode = False
  22. End Sub


 
Ca a l'air de marcher, par contre, quand je lance la macro sans ouvrir le Fichier2.xls, j'ai une erreur :  
Erreur d'exécution '9':
L'indice n'appartient pas à la sélection
 
J'ai pas trop envie de rajouter une ouverture/fermeture du fichier :/

n°1582889
jpcheck
Pioupiou
Posté le 05-07-2007 à 16:40:51  profilanswer
 

Le code qui t'intéresse en définitive c'est ca:
 
   

Code :
  1. Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
  2.         SkipBlanks:=False, Transpose:=False


On partirait sur la solution B ^^
     
Après, il faut travailler sur "a quoi correspond ta sélection ?"
 
 

n°1583074
kikidonc
Posté le 06-07-2007 à 08:50:01  profilanswer
 

Ca fonctionne lorsque j'ouvre le fichier, c'est presque ce que je voulais :)
 
Par contre, les données sont enregistrée dans mon fichier, il n'y a pas moyen de faire une sorte d' "include", où toutes les données ne serait jamais écrites en dur dans le fichier qui les appelle ?

n°1583181
kikidonc
Posté le 06-07-2007 à 13:14:52  profilanswer
 

En fait non, c'est bon, je m'en sors en supprimant des champs, ca devient moins lourd.
 
Par contre il y a quelque chose que je ne sais pas faire :
 
J'insère les données des cellules de A1 à A1000, mais comme il ya des cellules à l'origine qui sont vides, dans ma destination j'ai : des 0 ou des dates 0/0/1900
 
Comment faire sauter les cellules vides ?

n°1583266
jpcheck
Pioupiou
Posté le 06-07-2007 à 15:41:42  profilanswer
 

tu fais ton collage standard puis tu fais une boucle de test si .value = 0 alors  tu fais un .delete

n°1583421
kikidonc
Posté le 06-07-2007 à 19:12:12  profilanswer
 

Ok merci pour les tuyaux  :hello:


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

  [EXCEL] Insérer contenu d'une feuille dans un autre fichier

 

Sujets relatifs
VBA Excel Impression sur critères[PHP] Upload par fichier le retour !
Requete UPDATE et parcourt de fichierprobleme fichier téléchargé avec telechargement forcé de php
[Excel] mettre à jour un classement[Collections]Collection intermédiaire pour stocker dans un fichier
C++ comment ouvrir et lire un fichier sur serveur distant ?excel VBA : gestion des ";" lors d'un saveAS texte(DOS)
[PHP] comment faire un éditeur de feuille de style[Macro Excel] Sauvegarder une sélection en fichier plat
Plus de sujets relatifs à : [EXCEL] Insérer contenu d'une feuille dans un autre fichier


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