Macro qui irait chercher des données dans d'autres fichier excel

vadordj

XLDnaute Nouveau
Salut à tous,

voilà je souhaite envoyer un tableau à plusieurs sociétés, chaque société ne devant remplir que la ligne la concernant.
De plus chaque société est identifié par un code à 4 chiffres dans le tableau (voir fichier synthèse).

Chaque société reçoit donc le même fichier si ce n'est que le nom du fichier est constitué du code de l'entité (Nom standard + code).

Je souhaiterais creer une macro qui irait chercher dans un repertoire le fichier rempli par une entité, par exemple "information société 4567" (4567 étant le code de l'entité) et reporter les données dans le tableau final à la ligne correspondant au code 4567.


J'espere ne pas avoir été trop confus.

Merci par avance pour votre aide.
 

Pièces jointes

  • Information société 4567.xls
    13.5 KB · Affichages: 74
  • Synthese.xls
    14 KB · Affichages: 67
  • Information société 3223.xls
    13.5 KB · Affichages: 64
  • Information société 2245.xls
    13.5 KB · Affichages: 67
  • Synthese.xls
    14 KB · Affichages: 73
  • Synthese.xls
    14 KB · Affichages: 72

CHALET53

XLDnaute Barbatruc
Re : Macro qui irait chercher des données dans d'autres fichier excel

Bonjour,

Tu crées une macro dans le fichier Synthèse qui :
1) Ouvre les fichiers de tes sociétés
2) tu actives tour à tour tes fichiers : Windows("nomfichier.xls").activate et tu actives la feuille qui contient les données
3) tu récupéres les données dans des variables
4) tu réactives le fichier "Synthèse" : windows("synthèse.xls").Activate et tu rentres tes données dans ce fichier
...et tu recommences avec le fichier suivant.

j'ai eu l'occasion de faire des choses de ce style

a+
 

Catrice

XLDnaute Barbatruc
Re : Macro qui irait chercher des données dans d'autres fichier excel

Bonjour,

ci-joint une macro à tester qui recupere les données des fichiers siués dans un meme dossier.
Teste la macro en copiant le dossier compressé joint sur ta machine.
Peut importe l'endroit mais il faut garder la structure des dossiers.


Pourquoi chaque client voit il les autres clients ?
Au-dela d'un probleme de confidentialité, c'est un risque d'erreur.
Si un client n'a qu'une ligne à remplir il ne risque pas de remplir la ligne d'un autre client ...
... et ça pourrait alleger le code ...
 

Pièces jointes

  • Test.zip
    23.9 KB · Affichages: 199
  • Test.zip
    23.9 KB · Affichages: 210
  • Test.zip
    23.9 KB · Affichages: 211
Dernière édition:

vadordj

XLDnaute Nouveau
Re : Macro qui irait chercher des données dans d'autres fichier excel

Merci Catrice, pourrais-tu STP me commenter les lignes de commandes afin que je comprenne bien la fonction de chaque ligne (comme ça j'pourrais réadapter ta macro).

Sinon pour la confidentialité, ne t'inquiètes ce n'était qu'un exemple.

Merci d'avance
 

vadordj

XLDnaute Nouveau
Re : Macro qui irait chercher des données dans d'autres fichier excel

Merci je comprends un peu mieux la Macro, cependant, pourrais-tu m'éclairer sur 2-3 trucs:


- MaLig1 = Application.Match(Val(Mid(MesFic, Len(MesFic) - 7, 4)), Monclass.Sheets(1).Columns(1), 0)
--> à quoi correponds le chiffre "-7" ? si maintenant je decide de faire des codes à 5 chiffres, je mets "5" à la place du "4" ?

La fonction "Match" nousert ici à reporter les données de chaque société au meme endroit dans la synthèse ?


Merci d'avance
 

Catrice

XLDnaute Barbatruc
Re : Macro qui irait chercher des données dans d'autres fichier excel

Re,

--> à quoi correponds le chiffre "-7" ? si maintenant je decide de faire des codes à 5 chiffres, je mets "5" à la place du "4" ?
7 correspond à 7 caracteres.
Exemple : totoxxxx.xls => 12 caracteres
12 -7 = 5 => Mid(MesFic,5,4) donne xxxx
tititotoxxxx.xls => 16 caracteres
16 - 7 = 9 => Mid(MesFic,9,4) donne xxxx
Pour un code de 5, il faut 5 à la place de 4 et 8 à la place de 7
si la geometrie des codes est variable, il faudra adapter le code.

La fonction "Match" nousert ici à reporter les données de chaque société au meme endroit dans la synthèse ?
Non, Match sert à chercher le client dasn le fichier qu'on ouvre.
Chaque nouveau client est ajouté à la suite dans la synthese.
Comme tu peux le voir dans Test2, si les fichiers clients sont structurés individuellement, la macro est plus simple et on n'a pas besoin d'utiliser Match.
 

Discussions similaires

Statistiques des forums

Discussions
312 181
Messages
2 085 997
Membres
103 083
dernier inscrit
SALAHBEN