Récupération de données situées dans plusieurs fichiers EXCEL fermés.

massol

XLDnaute Junior
Bonjour,

Dans le cadre de la prospection commerciale que je mène, je renseigne systématiquement une fiche contact via une feuille EXCEL (voir fichier FC.XLS) qui fait état de l’échange que j’ai eu avec mon prospect ou client. Chaque fiche contact est nommée de la façon suivante :

Par exemple : FC_28-03-2011_AIRBUS.xls --> FC_date du contact_nom de la société.xls

NOTA : Je précise que je dispose d’EXCEL 2003 SP3.

A ce jour, je dispose de plus de 200 fiches contacts.

Mon souhait :

Je souhaiterais pouvoir récapituler via une macro toutes ces fiches contacts dans le fichier « RECAP.XLS » (voir fichier joint). Ceci suppose que le fichier « RECAP.XLS » est ouvert et les fichiers du type « FC_date_société.xls » sont fermés.

Pour lancer la récupération des informations situées dans les fiches contacts, je clique sur le bouton « mise à jour du tableau » (fichier « RECAP.XLS »). Ce bouton est relié à la macro en question.

Je précise que je débute dans la création de macros, je me classerais même dans la catégorie « pour les nuls ». Des commentaires abondants me seraient d’un grand secours pour comprendre comment fonctionne la macro créée.

Un grand merci par avance à tous ceux qui voudront bien se pencher sur cette demande. :confused::confused:

Cordialement.
 

Pièces jointes

  • FC.xls
    112.5 KB · Affichages: 119
  • recap.xls
    18.5 KB · Affichages: 90
  • FC.xls
    112.5 KB · Affichages: 119
  • recap.xls
    18.5 KB · Affichages: 91
  • FC.xls
    112.5 KB · Affichages: 116
  • recap.xls
    18.5 KB · Affichages: 93

Grand Chaman Excel

XLDnaute Impliqué
Re : Récupération de données situées dans plusieurs fichiers EXCEL fermés.

Bonjour massol,

Dans le fichier joint, j'ai adapté un bout de code que j'utilise (et ré-utilise) souvent pour faire ce genre de tâches. J'ai ajouté quelques commentaires pour t'aider. Tu n'as qu'à cliquer sur le bouton et choisir les fichiers que tu veux ajouter dans ton tableau. Les fichiers seront ajoutés à la fin.

Il y aurait sûrement un peu d'optimisation / nettoyage à faire dans le code mais je manque de temps...

En espérant que ça pourra t'aider un peu pour commencer.
 

Pièces jointes

  • Recap_FC.xls
    50.5 KB · Affichages: 127
  • Recap_FC.xls
    50.5 KB · Affichages: 129
  • Recap_FC.xls
    50.5 KB · Affichages: 121

massol

XLDnaute Junior
Re : Récupération de données situées dans plusieurs fichiers EXCEL fermés.

Bonjour,

J'ai re affecté certains résultats qui n'étaient pas dans les bonnes colonnes. Il manquait quelques résultats. L'application fonctionne (voir mise à jour jointe). J'ai cependant remarqué que la colonne "N" du fichier "Recap_FC.xls" (colonne "résumé du contact") reste vide si le contenu de la cellule dans le fichier "FC.xls" est trop long. En clair, s'il y a trop de texte (je n'ai pas testé jusqu'où on pouvait aller), la case reste vide. il doit y avoir une limitation en nombre de caractère (je travaille sous EXCEL 2003) ??

Tous les fichiers du type "FC_Date_Nom de société.xls" se situent sous le même répertoire "\\Srv2000\users\FICHES_CONTACTS", ne serait-il pas possible de récupérer automatiquement la liste des fichiers situés dans ce répertoire ? Ceci éviterait de sélectionner les fichiers ?

En vous remerciant par avance. :):)

Cordialement.
 

Pièces jointes

  • Recap_FC.xls
    117 KB · Affichages: 76
  • Recap_FC.xls
    117 KB · Affichages: 81
  • Recap_FC.xls
    117 KB · Affichages: 80

Grand Chaman Excel

XLDnaute Impliqué
Re : Récupération de données situées dans plusieurs fichiers EXCEL fermés.

Bonjour massol,

1)
Je croyais que la limite de caractères est de 256 mais pourtant j'ai fait un test avec >600 caractères et ça a marché (voir fichier joint) :confused:

2)
J'ai créé une deuxième macro "Sub CompilationFichesContact_2()" qui demande le dossier au lieu de sélectionner les fichiers. Attention, ça ne marchera pas avec Excel 2007 !
 

Pièces jointes

  • Recap_FC_2.xls
    125 KB · Affichages: 69

massol

XLDnaute Junior
Re : Récupération de données situées dans plusieurs fichiers EXCEL fermés.

Bonjour,

Mes réponses :

1) J'ai 1168 caractères dans la case correspondant à "résumé du contact" (fichier FC_.....xls). Cela ne concerne qu'une seule fiche (j'ai été beaucoup plus bavard que pour les autres). La zone correspondante dans le fichier "recap_FC_2.xls" demeure vide. N'y aurait-il pas un moyen de contourner cette limitation ?

2) En fait je préfèrerais que la macro ne demande aucune intervention extérieure (pas de demande de nom de dossier ou de nom de fichiers). En effet, le nom du dossier contenant les fiches contacts étant fixe (\\Srv2000\users\FICHES_CONTACTS), ne peut-on pas faire figurer en dur dans la macro ce nom de dossier et ensuite extraire la liste des fichiers contenus dans ce dossier ? Tout ceci se passerait ainsi de façon transparente pour l'utilisateur.

Merci encore.

Cordialement.
 

massol

XLDnaute Junior
Re : Récupération de données situées dans plusieurs fichiers EXCEL fermés.

Bonjour,

Dans le fichier "recap_FC_2.xls", lorsque je clique sur le bouton jaune (éxécution macro : mise à jour tableau), le tableau n'est pas effacé. Il s'agit pourtant de la première action inscrite dans cette macro ? Ce n'est qu'après que la macro demande le nom du dossier. Y a quelque chose que je ne comprends pas ...Je rappelle que je suis débutant débutant.

Cordialement.
 

Grand Chaman Excel

XLDnaute Impliqué
Re : Récupération de données situées dans plusieurs fichiers EXCEL fermés.

Re-bonjour Massol,

1) pour ce qui est de la limitation, je ne comprends pas. De mon côté, ça fonctionne. Comme tu peux voir dans le fichier joint, j'ai été capable de récupérer >1000 caractères pour le Résumé du contact.

2) Dans la macro, tu peux mettre en dur le nom du répertoire au lieu d'appeler la fonction "BrowseFolder", comme ceci:

Code:
'Demande dossier contenant les fichiers
'Écrire le nom du dossier de recherche ici
'Exemple : Chemin = "C:\Test\Fiches"
Chemin = BrowseFolder("Choisir le dossier contenant les fichiers ?")

Malheurement, je ne peux pas tester présentement parce que je suis sur un autre PC avec Excel 2007 seulement et Application.FileSearch ne fonctionne pas avec Excel 2007.

3) Ton tableau est effacé, mais tu ne le vois pas parce que au début de la macro j'ai ajouté l'instruction "Application.ScreenUpdating = False" et à la fin de la macro "Application.ScreenUpdating = True". Tout ce qui ce passe entre ces 2 instructions n'est pas affiché à l'écran. Ça permet d'exécuter la macro plus rapidement. L'affichage est donc raffraîchit uniquement quand la macro est terminée. Tu peux enlever ces 2 lignes de codes si tu veux mais ça va ralentir (un peu) la macro.

Code:
Application.ScreenUpdating = False
Application.DisplayAlerts = False

Set wbmain = ThisWorkbook
Set wsWrite = wbmain.Sheets("Recapitulatif")    'nom de la feuille avec le tableau récapitulatif

'Effacement de la totalité du tableau (zone B10 à P1000)
Range("B10:P1000").Select
Selection.ClearContents

4) Voici un fichier plus à jour...
 

Pièces jointes

  • Recap_FC_3.xls
    130 KB · Affichages: 170
  • Recap_FC_3.xls
    130 KB · Affichages: 176
  • Recap_FC_3.xls
    130 KB · Affichages: 177

massol

XLDnaute Junior
Re : Récupération de données situées dans plusieurs fichiers EXCEL fermés.

Bonjour,

J'ai effectué les modifs que tu proposes et tout fonctionne (mis à part la limitation de caractère qui perdure. cela passe avec environ 550 caractères mais pas 1000, ceci sur mon PC : les mystères de l'informatique ??). En tous les cas un très grand merci pour tous ces échanges, infos, commentaires, suggestions. Je suis vraiment impressionné par l'extrême réactivité des retours. Encore merci.

Cordialement.
 

Discussions similaires

M
Réponses
9
Affichages
478
Maikales
M

Statistiques des forums

Discussions
312 331
Messages
2 087 359
Membres
103 528
dernier inscrit
hplus