regroupement de plusieurs fichiers

Le
clyver
Bonjour le forum d'entraide,

J'ai un besoin de regroupement de plusieurs fichiers:

Sur un regroupements d'une dizaine de fichiers que je veux ciblé dans
des répertoires défini sachant que dans ces répertoires j'ai d'autre
fichiers que je ne veux pas requêter.

exemple mais fichiers se trouve dans :
S:SuivisFaD384x298 LTW384x298 LTW CANTO.xls
S:SuivisFaD520x612 MW520x612 MW-CH111.xls
S:SuivisFaDMIPODMIPOD-CH286A.xls

PS : tous les fichiers on, une feuille nommée (FAD)
avec en titre colonne A => année, en B => mois, en C => n° de la
semaine


Le besoin serait de regrouper tout les fichiers par rapport à l'année
et le N° de semaine.
http://cjoint.com/?jpszQoi3OX

cordialament

Franck
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #20155171
bonjour Frank,

il y a un exemple ici pour le traitement de plusieurs fichiers:
http://frederic.sigonneau.free.fr/code/Fichiers/TraiterTousFichiersDossier.txt

isabelle

clyver a écrit :
Bonjour le forum d'entraide,

J'ai un besoin de regroupement de plusieurs fichiers:

Sur un regroupements d'une dizaine de fichiers que je veux ciblé dans
des répertoires défini sachant que dans ces répertoires j'ai d'autre
fichiers que je ne veux pas requêter.

exemple mais fichiers se trouve dans :
S:SuivisFaD384x298 LTW384x298 LTW CANTO.xls
S:SuivisFaD520x612 MW520x612 MW-CH111.xls
S:SuivisFaDMIPODMIPOD-CH286A.xls

PS : tous les fichiers on, une feuille nommée (FAD)
avec en titre colonne A => année, en B => mois, en C => n° de la
semaine


Le besoin serait de regrouper tout les fichiers par rapport à l'année
et le N° de semaine.
http://cjoint.com/?jpszQoi3OX

cordialament

Franck



LSteph
Le #20157251
Bonjour,
Un exemple qui balaie tous les fichiers du rep, mais il faut que tu
crée un répertoire dans lequel tu copies exclusivement ces fichiers
Et depuis excel mets toi sur ce répertoire pour executer cette macro
que tu mets dans un nouveau classeur (ou un enregistré ailleurs)

Sub regroup()
Dim i As Long, f As String
f = Dir("*.xls")
Do While Len(f) > 0
Workbooks.Open (f)
With Worksheets("FAD")
.Range("C5", .[A65536].End(xlUp).Address).Copy _
Destination:=ThisWorkbook.Sheets("Feuil1").[A65536].End(xlUp)(2)
Workbooks(f).Close False
End With
f = Dir
Loop
End Sub



On 15 sep, 18:27, clyver
Bonjour le forum d'entraide,

J'ai un besoin de regroupement de plusieurs fichiers:

Sur un regroupements d'une dizaine de fichiers que je veux ciblé dans
des répertoires défini sachant que dans ces répertoires j'ai d'autr e
fichiers que je ne veux pas requêter.

exemple mais fichiers se trouve dans :
S:SuivisFaD384x298 LTW384x298 LTW CANTO.xls
S:SuivisFaD520x612 MW520x612 MW-CH111.xls
S:SuivisFaDMIPODMIPOD-CH286A.xls

PS : tous les fichiers on, une feuille nommée (FAD)
avec en titre colonne A => année, en B => mois, en C => n° de l a
semaine

Le besoin serait de regrouper tout les fichiers par rapport à l'année
et le N° de semaine.http://cjoint.com/?jpszQoi3OX

cordialament

Franck


clyver
Le #20162821
Bonjour et merci à vous pour les deux propositions,

Par contre j'ai un pb car sur cette demande mes répertoires sont
classé dans des répertoires avec d'autres fichiers que je ne veux pas
filtrer.

S:SuivisFaD384x298 LTW384x298 LTW CANTO.xls
S:SuivisFaD520x612 MW520x612 MW-CH111.xls
S:SuivisFaDMIPODMIPOD-CH286A.xls

exemple dans le 1er liens il y a 6 classeurs excel je veux voir que le
"384x298 LTW CANTO.xls"

merci
LSteph
Le #20173131
Bonjour,

C'est pas pour rien que j'ai précisé
crée un répertoire dans lequel tu copies exclusivement ces fichiers


et a fortiiori puisqu'ils ne sont pas dans le même
les copier dans un rep devolu à cet effet et uniquement ceux là tu
iras plus vite
car sinon tu devras puisqu'ils ne sont pas dans le même
soit traiter les différents chemins répertoires
.. 384x298 LTW ..
...520x612 MW...
...
puis distinguer dans un Select Case les noms de fichiers

soit aller écrire en dur tous les noms des fichiers que tu dois
traiter consécutivement dans le code .

C'est bien plus lourd et plus long!

Sinon aulieu de passer par du code tu mets une feuille pour chacun de
ces claseurs liée à ce que tu veux dedans.

Cordialement.

--
lSteph


On 17 sep, 07:03, clyver
Bonjour et merci à vous pour les deux propositions,

Par contre j'ai un pb car sur cette demande mes répertoires sont
classé dans des répertoires avec d'autres fichiers que je ne veux pas
filtrer.

S:SuivisFaD384x298 LTW384x298 LTW CANTO.xls
S:SuivisFaD520x612 MW520x612 MW-CH111.xls
S:SuivisFaDMIPODMIPOD-CH286A.xls

exemple dans le 1er liens il y a 6 classeurs excel je veux voir que le
"384x298 LTW CANTO.xls"

merci


michdenis
Le #20173411
Il peut aussi boucler sur une plage de cellule où
il aura insérer le chemin et l'adresse de chaque fichier
à traiter !
;-)


"LSteph"
Bonjour,

C'est pas pour rien que j'ai précisé
crée un répertoire dans lequel tu copies exclusivement ces fichiers


et a fortiiori puisqu'ils ne sont pas dans le même
les copier dans un rep devolu à cet effet et uniquement ceux là tu
iras plus vite
car sinon tu devras puisqu'ils ne sont pas dans le même
soit traiter les différents chemins répertoires
.. 384x298 LTW ..
...520x612 MW...
...
puis distinguer dans un Select Case les noms de fichiers

soit aller écrire en dur tous les noms des fichiers que tu dois
traiter consécutivement dans le code .

C'est bien plus lourd et plus long!

Sinon aulieu de passer par du code tu mets une feuille pour chacun de
ces claseurs liée à ce que tu veux dedans.

Cordialement.

--
lSteph


On 17 sep, 07:03, clyver
Bonjour et merci à vous pour les deux propositions,

Par contre j'ai un pb car sur cette demande mes répertoires sont
classé dans des répertoires avec d'autres fichiers que je ne veux pas
filtrer.

S:SuivisFaD384x298 LTW384x298 LTW CANTO.xls
S:SuivisFaD520x612 MW520x612 MW-CH111.xls
S:SuivisFaDMIPODMIPOD-CH286A.xls

exemple dans le 1er liens il y a 6 classeurs excel je veux voir que le
"384x298 LTW CANTO.xls"

merci


LSteph
Le #20173671
:-) ...oui!
certes ce sera un bien meilleur compromis!
mais avec mêmes réserves: ne pas se planter dans le libellé.
Utiliser quotes pour les 'nom de fichiers' qui ont des espaces


On 18 sep, 12:59, "michdenis"
Il peut aussi boucler sur une plage de cellule où
il aura insérer le chemin et l'adresse de chaque fichier
à traiter !
;-)

"LSteph"
Bonjour,

C'est pas pour rien que j'ai précisé>crée un répertoire dans lequ el tu copies exclusivement ces fichiers

et a fortiiori puisqu'ils ne sont pas dans le même
les copier  dans un rep devolu à cet effet et uniquement ceux là tu
iras plus vite
car sinon tu devras  puisqu'ils ne sont pas dans le même
soit traiter les différents chemins  répertoires
.. 384x298 LTW ..
...520x612 MW...
...
puis distinguer dans un Select Case les noms de fichiers

soit aller écrire en dur tous les noms des fichiers que tu dois
traiter consécutivement dans le code .

C'est bien plus lourd et plus long!

Sinon aulieu de passer par du code tu mets une feuille pour chacun de
ces claseurs  liée à ce que tu veux dedans.

Cordialement.

--
lSteph

On 17 sep, 07:03, clyver


> Bonjour et merci à vous pour les deux propositions,

> Par contre j'ai un pb car sur cette demande mes répertoires sont
> classé dans des répertoires avec d'autres fichiers que je ne veux p as
> filtrer.

> S:SuivisFaD384x298 LTW384x298 LTW CANTO.xls
> S:SuivisFaD520x612 MW520x612 MW-CH111.xls
> S:SuivisFaDMIPODMIPOD-CH286A.xls

> exemple dans le 1er liens il y a 6 classeurs excel je veux voir que le
> "384x298 LTW CANTO.xls"

> merci- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


michdenis
Le #20174491
| certes ce sera un bien meilleur compromis!
| mais avec mêmes réserves: ne pas se planter dans le libellé.
| Utiliser quotes pour les 'nom de fichiers' qui ont des espaces

J'ai fait ce test :
Workbooks.Open "c:usersDMDocumentsLe Testle classeur2.xls"

et le fichier s'ouvre normalement. Où vois-tu l'obligation de mettre des "quotes" ?



On 18 sep, 12:59, "michdenis"
Il peut aussi boucler sur une plage de cellule où
il aura insérer le chemin et l'adresse de chaque fichier
à traiter !
;-)

"LSteph"
Bonjour,

C'est pas pour rien que j'ai précisé>crée un répertoire dans lequel tu copies
exclusivement ces fichiers

et a fortiiori puisqu'ils ne sont pas dans le même
les copier dans un rep devolu à cet effet et uniquement ceux là tu
iras plus vite
car sinon tu devras puisqu'ils ne sont pas dans le même
soit traiter les différents chemins répertoires
.. 384x298 LTW ..
...520x612 MW...
...
puis distinguer dans un Select Case les noms de fichiers

soit aller écrire en dur tous les noms des fichiers que tu dois
traiter consécutivement dans le code .

C'est bien plus lourd et plus long!

Sinon aulieu de passer par du code tu mets une feuille pour chacun de
ces claseurs liée à ce que tu veux dedans.

Cordialement.

--
lSteph

On 17 sep, 07:03, clyver


> Bonjour et merci à vous pour les deux propositions,

> Par contre j'ai un pb car sur cette demande mes répertoires sont
> classé dans des répertoires avec d'autres fichiers que je ne veux pas
> filtrer.

> S:SuivisFaD384x298 LTW384x298 LTW CANTO.xls
> S:SuivisFaD520x612 MW520x612 MW-CH111.xls
> S:SuivisFaDMIPODMIPOD-CH286A.xls

> exemple dans le 1er liens il y a 6 classeurs excel je veux voir que le
> "384x298 LTW CANTO.xls"

> merci- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


clyver
Le #20178431
Bonjour,

si je veux cibler mes fichiers je les appels comment ?

Sub regroup()
Dim i As Long, f As String
f = Dir("S:SuivisFaD384x298 LTW384x298 LTW CANTO.xls")
f = Dir("S:SuivisFaD520x612 MW520x612 MW-CH111.xls")
f = Dir("S:SuivisFaDMIPODMIPOD-CH286A.xls ")
Do While Len(f) > 0
Workbooks.Open (f)
With Worksheets("FAD")
.Range("C5", .[A65536].End(xlUp).Address).Copy _
Destination:=ThisWorkbook.Sheets("Feuil1").[A65536].End(xlUp)(2)
Workbooks(f).Close False
End With
f = Dir
Loop
End Sub


ou bien faut il utiliser
Workbooks.Open "S:SuivisFaD384x298 LTW384x298 LTW CANTO.xls"

merci
michdenis
Le #20179711
Bonjour Clyver,

Cela pourrait ressembler à ceci :

Sub regroup()
Dim Elt As Variant
Dim Arr(1 To 3), Sh As Worksheet, Wk As Workbook

Arr(1) = "S:SuivisFaD384x298 LTW384x298 LTW CANTO.xls"
Arr(2) = "S:SuivisFaD520x612 MW520x612 MW-CH111.xls"
Arr(3) = "S:SuivisFaDMIPODMIPOD-CH286A.xls "

Set Sh = ThisWorkbook.Worksheets("Feuil1")
Application.ScreenUpdating = False
For Each Elt In Arr
If Dir(Elt) <> "" Then
Set Wk = Workbooks.Open(Elt)
With Wk
With .Worksheets("FAD")
.Range("C5", .[A65536].End(xlUp).Address).Copy _
Destination:=Sh.Range("A65536").End(xlUp)(2)
End With
.Close False
End With
Else
MsgBox "Pas trouver ce fichier : " & vbCrLf & Elt
End If
Next
Application.ScreenUpdating = True
End Sub





"clyver"
Bonjour,

si je veux cibler mes fichiers je les appels comment ?

Sub regroup()
Dim i As Long, f As String
f = Dir("S:SuivisFaD384x298 LTW384x298 LTW CANTO.xls")
f = Dir("S:SuivisFaD520x612 MW520x612 MW-CH111.xls")
f = Dir("S:SuivisFaDMIPODMIPOD-CH286A.xls ")
Do While Len(f) > 0
Workbooks.Open (f)
With Worksheets("FAD")
.Range("C5", .[A65536].End(xlUp).Address).Copy _
Destination:=ThisWorkbook.Sheets("Feuil1").[A65536].End(xlUp)(2)
Workbooks(f).Close False
End With
f = Dir
Loop
End Sub


ou bien faut il utiliser
Workbooks.Open "S:SuivisFaD384x298 LTW384x298 LTW CANTO.xls"

merci
clyver
Le #20180641
Bonjour a tous

j'ai trois problème :

1/ Quand j'active la macro "regroup" certaine de mes classeur on des
liens peux ton lui dire de pas faire de mise à jour lors de la copie
qui se noterai dans la colonne K?

2/ Est-il possible de noter a coté de chaque ligne l'emplacement du
fichier trouvé? (comme mon exemple du 1er poste)

3/ J'aimerai également mettre à jour ma macro à l'ouverture du fichie r
(ouverture du classeur regroup actualiser les données)

pour info j'ai modifié la ligne [.Range("C5", .[A65536].End
(xlUp).Address).Copy _ par .Range("I5", .[A65536].End
(xlUp).Address).Copy _ ]

merci
Publicité
Poster une réponse
Anonyme