Traitement fichiers dans un dossier

Bonjour à toutes et tous...

SVP je cherche à établir une macro qui me permettrait de récupérer une seule colonne (253 champs à la suite dans la colonne) dans tous les fichiers d'un même répertoire à la racine de la partition "C" nommé : "Fichier" et recopier toutes les colonnes dans une même page excel (nouveau fichier) une colonne à la suite ou à côté de l'autre...

j'ai regardé de nombreuses macros, mais aucune n'est adaptée (les colonnes s'affichent une sous l'autre ou une sur l'autre...

je vous remercie de tout coeur par avance de l'entraide apportée sur cet espace...

bien à vous,

Pascal

Salut,

Ta question n'est pas des plus claires, mais j'ai tenté une solution.

Si tu places les 3 fichiers ci-joints - et uniquement ceux-ci - dans un dossier, que tu ouvres le fichier Essai 02.10 et que tu lances la macros qui y est placée, tu as le report des données des deux autres fichiers, les unes à côté des autres.

S'il faut adapter ce code, tes fichiers réels sont nécessaires.

Cordialement.

10essai-02-10.xlsm (26.32 Ko)
8fichier-1.xlsm (16.85 Ko)
8fichier-2.xlsm (16.85 Ko)

tout d'abord un grand merci pour cette macro !

oui je crois que ma sollicitation n'était pas suffisamment claire...

en fait, voici quelques précisions...

initialement j'avais réalisé un programme de Numérologie sous GFA Basic (ce n'est pas hier...) qui me sauvegarde chaque fiche, le nom du fichier est le nom de la personne et l'extension les 3 lettres du prénom... et cela dans un dossier dénommé "Fichier"... situé à la racine de "C:"

j'ai trouvé une macro excel qui me permet de charger automatiquement tous les fichiers de ce dossier et me les sauvegarde dans le même répertoire individuellement en reprenant le nom initial du fichier en ajoutant l'extension excel (ex : martin.pie devient martin.pie.xls ou bocuse_.pau devient bocuse_.pau.xls )... donc convertis en données excel...

mes données dans ces fichiers excel sont enregistrés sur une seule colonne (de A1 à A251) sachant que A1 est vide) et ce dans chaque fiche... le nombre des champs de ces fichiers est identique (sur une seule colonne "A"), bien les sûr les valeurs sont propres à chaque fichiers avec certains champs vides...

je souhaiterai pouvoir afficher chaque colonne (A) de chaque fichier (en conservant les champs vide de chaque fiche) dans une seule page d'un nouveau classeur excel afin de pouvoir ensuite comparer et extraire certain champs des nombreuses colonnes par la suite...

voilà j'espère être un peu plus clair ?

en tout cas merci de tout coeur de ton assistance cela fait quelques jours que je galère...

bien à toi

Salut,

Je pense que mon travail correspond exactement à ce que tu souhaites.

T'es-tu seulement donné la peine de teste ma macro ? Si oui, en quoi diffère-t-elle de ce que tu souhaites ?

Je t'avais demandé de fournir tes fichiers ou du moins un fichier modèle.

Cordialement.

salut,

merci, oui bien sûr ta macro m'a réellement aidé, je l'ai adapté et mon problème est résolu.

je vais maintenant m'attaché à réaliser une macro pour comparer les données de cette nouvelle feuille excel et les ressortir sur une autre feuille...

encore MERCI,

bien à toi

cordialement

rebonjour,

j'aurais encore besoin d'aide...

je souhaiterai afficher toutes les 15 colonnes le contenu de la colonne 1 (les paramètres des données récupérées), en fait l'affichage de la macro avant la boucle qui me permet de lire et récupérer les données de l'ensemble des fichiers de mon répertoire...

j'ai essayé sans succès...

peux-tu STP m'aider ?

et aussi, lorsque mon répertoire aura de nouveau fichier est-il possible (sans trop galérer...) seulement d'ajouter les nouveaux fichiers dans cette page créée par cette macro ou devrais-je relancer cette macro ?

merci par avance,

bien à toi

voilà la macro :

Sub recup()

Range("A1").Select 'sélectionner la cellule de début

Chemin = "c:\FICHIERS PARAMETRES NB\" 'saisir le chemin complet du dossier où se trouvent les fichiers

Fichier = Dir(Chemin & "PARAMETRES NB.xlsx") ' Premier fichier

Workbooks.Open Filename:=Chemin & Fichier

Range(("A2,A3,A4,A5,A6,A13:A30,A51:A59,A123,A125,A132,A133")).Copy

ThisWorkbook.Activate

ActiveSheet.Paste

Windows(Fichier).Activate

Application.CutCopyMode = False

ActiveWorkbook.Close savechanges:=False

ThisWorkbook.Activate

k = 1

Range("A1").End(xlUp).Offset(0, k).Select

Range("B1").Select 'sélectionner la cellule de début

Chemin = "c:\FICHIERS\" 'saisir le chemin complet du dossier où se trouvent les fichiers

Fichier = Dir(Chemin & "*.xls") ' Premier fichier

Do While Fichier <> ""

Workbooks.Open Filename:=Chemin & Fichier

Range(("A2,A3,A4,A5,A6,A13:A30,A51:A59,A123,A125,A132,A133")).Copy

ThisWorkbook.Activate

ActiveSheet.Paste

Windows(Fichier).Activate

Application.CutCopyMode = False

ActiveWorkbook.Close savechanges:=False

ThisWorkbook.Activate

Range("B1").End(xlUp).Offset(0, k).Select

k = k + 1

'If k = 15 Then

'Range("A:A").Copy Range("G:G")

'k = k + 1

'End If

Fichier = Dir ' Fichier suivant

Loop

End Sub

Salut,

Je ne peux pas te garantir que je puisse t'aider et peut-être pas avant lundi ou mardi prochain, mais dans tous les cas, je m'en sors mieux si j'ai tes fichiers à disposition. Peux-tu alors me fournir le fichier de base dans lequel tu as la macro et un modèle de fichier dans lequel tu vas chercher les données ?

Tu peux créer des fichiers modèles sur la base de tes fichiers réels dans lesquels tu remplaces simplement les données confidentielles par des données anonymes, mais représentatives.

Chaleureusement.

Bonjour Yvouille,

je te joins les fichiers,

la condition if then endif que j'ai essayé me stoppe la boucle...

le langage vba me parait plus ardu que le gfa basic que je maitrisais pas trop mal...

encore merci,

belle journée, beau week-end

5cezanne-pau.zip (5.12 Ko)
5bocuse-pau.zip (5.11 Ko)

Salut,

Ton fichier PARAMETRES NB.xlsx est un fichier sans macro. Dois-je comprendre que tu as tes macros dans un autre fichier encore ?

Si oui, peux-tu me le fournir et m'expliquer comment sont placés ces 4 fichiers dans ton arborescences ? Tous au même endroit ? Sinon avec quelle échelonnement ?

A te relire.

salut,

voilà mon fichier avec la macro...

mes fichiers xls à traiter sont à la racine de C: dans un répertoire nommé : FICHIERS

je t'ai envoyé 4 fichiers mais bien entendu le nombre réel est plus important et j'en ajouterai régulièrement...

le fichier paramètres est à la racine de C: dans un répertoire nommé : FICHIERS PARAMETRES NB

merci encore et beau dimanche

Bonjour à tous

Tu postes des xls, format périmé depuis 12 ans et un xlsx

Peux-tu préciser ta version ?

A partir de 2010 on peut se passer de VBA pour juxtaposer les colonnes issues de tous les classeurs d'un dossier.

Par ailleurs réintercaler Paramètres toutes les 15 colonnes laisse penser à une comparaison plus on moins manuelle.

Il est possible de faire un tableau de choix pour choisir parmi les noms (donc colonnes)via une liste déroulante, ceux à juxtaposer afin de ne visualiser que ces colonnes.

Tout cela sans une ligne de code VBA...

Salut Chris,

Je pensais m'en sortir, mais si tu veux reprendre ce fil - plutôt que de prendre en charge un fil sans réponse - je te laisse la main.

Cordialement.

bonsoir,

en effet j'utilise excel 2007...

la macro que j'ai jointe à Yvouille fonctionne plutôt bien, malgré l'antériorité de ma version excel

je souhaite ensuite pouvoir exploiter, comparer certaines valeurs des colonnes en rapport avec les autres afin de faire automatiquement des rapprochement de colonnes (profils)...

merci de votre sollicitude

Bonsoir Yvouille

Cela fait longtemps qu'on se croise ci et ailleurs.

Je pensais m'en sortir, mais si tu veux reprendre ce fil - plutôt que de prendre en charge un fil sans réponse - je te laisse la main.

Non, simplement ces formats différents de classeurs et cette histoire de répétition de colonne toutes les 15 colonnes m'ayant paru bizarre, d'autant qu'en figeant les volets on doit avoir le même effet, j'ai regardé ce qu'on pourrait faire avec PowerQuery.

(Je creuse ce filon sur nombre de fils pour améliorer ma maîtrise de cet outil)

Mais 2007...

Bonne soirée à toi.

Rechercher des sujets similaires à "traitement fichiers dossier"