code a modifier

Le
Cyr73
Bonjour,

voilà j'ai essayer dans tout les sens mais sans resultat,je voudrais
recherche dans cBudgets tous les fichiers commencant par les BUD_
et effectuer une macro identique sur tout les fichiers (pour la macro je
sais faire
via l'editeur de macro)
je me suis servis du code de MichDenis comme base

Sub Test()
Dim Rg as range,Fichier as string, C as range

With Worksheets("Feuil1")
set Rg = .range("A1:A" & .Range("A65536").end(xlup).row)
End with

For each c in Rg
if c<>"" then
Fichier = dir(c & "*.*")
do while fichier <> ""
'Fichier = "Nom du fichier seulement"
"C = Chemin du fichier inscrit dans la cellule"
'le traitement de ton fichier

fichier = dir()
loop
end if
next
end sub

--
Cordialement

et avec tout mes remerciements..
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19590451
Bonjour Cyr,

Ce n'est pas clair ce que tu attends,

Pour ne t'occuper que des fichiers débutant par Fichier "BUD_"
tu n'a qu'à modifier la ligne de code suivante :

Fichier = dir(c & "BUD_*.*")

C'est tout ! ?




"Cyr73" :
Bonjour,

voilà j'ai essayer dans tout les sens mais sans resultat,je voudrais
recherche dans cBudgets tous les fichiers commencant par les BUD_
et effectuer une macro identique sur tout les fichiers (pour la macro je
sais faire
via l'editeur de macro)
je me suis servis du code de MichDenis comme base

Sub Test()
Dim Rg as range,Fichier as string, C as range

With Worksheets("Feuil1")
set Rg = .range("A1:A" & .Range("A65536").end(xlup).row)
End with

For each c in Rg
if c<>"" then
Fichier = dir(c & "*.*")
do while fichier <> ""
'Fichier = "Nom du fichier seulement"
"C = Chemin du fichier inscrit dans la cellule"
'le traitement de ton fichier

fichier = dir()
loop
end if
next
end sub

--
Cordialement

et avec tout mes remerciements..
Daniel.C
Le #19591221
Bonjour.
Essaie :

Sub test()
Dim Fich As String, ctr As Integer
Application.ScreenUpdating = False
Fich = Dir("c:BudgetsBUD_*.xls")
With ThisWorkbook.Sheets("synthese")
Fich = Dir("c:BudgetsBUD_*.xls")
Do While Fich <> ""
Sheets.Add.Name = Fich
Workbooks.Open "c:Budgets" & Fich
[Feuil1!A1:A6].Copy
ThisWorkbook.ActiveSheet.[A1].PasteSpecial xlPasteValues
ActiveWorkbook.Close False
ctr = ctr + 1
.Cells(ctr, 1) = Fich
.Cells(ctr, 2) = [A1]
.Cells(ctr, 3) = [A2]
Fich = Dir
Loop
End With
End Sub

Cordialement.
Daniel

Bonjour,
je reprend depuis le début.
j'ai placé un dossier nommé Budgets à la racine de C
puis je place tous mes fichier excel nommés BUD_......... dedans
je souhaite recupérer ex: A1:A6 dans chaque fichier nommé
BUD_.... et les coller dans un fichier nommé synthese (qui existe déjà)et un
onglet par fichier BUD_... trouvé.
et si j'abuse des bonne choses serait il possible d'en faire un synthese sur
un onglet nommé synthese avec en colonne A le nom des fichier Bud_.....
touvés,en colonne B la valeur de la cellule A1 en colonne C la valeur de
cellule A2 pour chaque onglet crée.
merci
Cordialement

et avec tout mes remerciements..










FFO
Le #19591501
Salut à toi

Les données de chaque fichier BU_ sont en Feuil1

Ce code devrait faire :

Chemin = "C:Budgets"
Fichier = Dir(Chemin & "BU_*.*")
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
Workbooks(Fichier).Sheets("Feuil1").Range("A1", "A6").Copy
Workbooks("synthese.xls").Sheets.Add.Range("A1")
Workbooks("synthese.xls").ActiveSheet.Name = Fichier
Ligne =
Workbooks("synthese.xls").Sheets("synthese").Range("A65530").End(xlUp).Row + 1
Workbooks("synthese.xls").Sheets("synthese").Range("A" & Ligne).Value =
Fichier
Workbooks("synthese.xls").Sheets("synthese").Range("B" & Ligne).Value =
Workbooks(Fichier).Sheets("Feuil1").Range("A1").Value
Workbooks("synthese.xls").Sheets("synthese").Range("C" & Ligne).Value =
Workbooks(Fichier).Sheets("Feuil1").Range("A2").Value
Workbooks(Fichier).Close SaveChanges:úlse
Fichier = Dir
Loop

Modifies le nom "Feuil1" dans le code en fonction du nom de l'onglet de
chaque fichier BU_


Dis moi !!!!
Cyr73
Le #19595661
Bonjour, et Merci à vous
voici le code adapté, mais a la 1 ère recup ça coince avec "proprieté ou
methode non gérer par cet objet" ??

Sub Recup_Auto()

Chemin = "C:Budgets"
Fichier = Dir(Chemin & "BUD_*.*")
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
Workbooks(Fichier).Sheets("Saisie").Range("AE5", "AE10").Copy
Workbooks("synthese.xls").Sheets.Add.Range ("A4")
Workbooks("synthese.xls").ActiveSheet.Name = Fichier
Ligne =
Workbooks("synthese.xls").Sheets("synthese").Range("A65530").End(xlUp).Row + 1
Workbooks("synthese.xls").Sheets("synthese").Range("A" & Ligne).Value =
Fichier
Workbooks("synthese.xls").Sheets("synthese").Range("B" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE5").Value
Workbooks("synthese.xls").Sheets("synthese").Range("C" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE6").Value
Workbooks("synthese.xls").Sheets("synthese").Range("D" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE7").Value
Workbooks("synthese.xls").Sheets("synthese").Range("E" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE8").Value
Workbooks("synthese.xls").Sheets("synthese").Range("F" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE9").Value
Workbooks("synthese.xls").Sheets("synthese").Range("G" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE10").Value
Workbooks(Fichier).Close SaveChanges:úlse
Fichier = Dir
Loop

End Sub

et encore merci pour le temps que vous me consacrés


Daniel.C
Le #19595641
Sur quelle ligne ?
Daniel

Bonjour, et Merci à vous
voici le code adapté, mais a la 1 ère recup ça coince avec "proprieté ou
methode non gérer par cet objet" ??

Sub Recup_Auto()

Chemin = "C:Budgets"
Fichier = Dir(Chemin & "BUD_*.*")
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
Workbooks(Fichier).Sheets("Saisie").Range("AE5", "AE10").Copy
Workbooks("synthese.xls").Sheets.Add.Range ("A4")
Workbooks("synthese.xls").ActiveSheet.Name = Fichier
Ligne =
Workbooks("synthese.xls").Sheets("synthese").Range("A65530").End(xlUp).Row +
1 Workbooks("synthese.xls").Sheets("synthese").Range("A" & Ligne).Value =
Fichier
Workbooks("synthese.xls").Sheets("synthese").Range("B" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE5").Value
Workbooks("synthese.xls").Sheets("synthese").Range("C" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE6").Value
Workbooks("synthese.xls").Sheets("synthese").Range("D" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE7").Value
Workbooks("synthese.xls").Sheets("synthese").Range("E" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE8").Value
Workbooks("synthese.xls").Sheets("synthese").Range("F" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE9").Value
Workbooks("synthese.xls").Sheets("synthese").Range("G" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE10").Value
Workbooks(Fichier).Close SaveChanges:úlse
Fichier = Dir
Loop

End Sub

et encore merci pour le temps que vous me consacrés




Cyr73
Le #19595861
sur celle-ci je pense car la macro ouvre bien le premier fichier
copie les cellules retour sous le fichier synthese et la "proprieté ou
methode non gérees par cet objet"
Workbooks(Fichier).Sheets("Saisie").Range("AE5", "AE10").Copy

--
Cordialement

et avec tout mes remerciements..


"Daniel.C" a écrit :

Sur quelle ligne ?
Daniel

> Bonjour, et Merci à vous
> voici le code adapté, mais a la 1 ère recup ça coince avec "proprieté ou
> methode non gérer par cet objet" ??
>
> Sub Recup_Auto()
>
> Chemin = "C:Budgets"
> Fichier = Dir(Chemin & "BUD_*.*")
> Do While Fichier <> ""
> Workbooks.Open Filename:=Chemin & Fichier
> Workbooks(Fichier).Sheets("Saisie").Range("AE5", "AE10").Copy
> Workbooks("synthese.xls").Sheets.Add.Range ("A4")
> Workbooks("synthese.xls").ActiveSheet.Name = Fichier
> Ligne =
> Workbooks("synthese.xls").Sheets("synthese").Range("A65530").End(xlUp).Row +
> 1 Workbooks("synthese.xls").Sheets("synthese").Range("A" & Ligne).Value =
> Fichier
> Workbooks("synthese.xls").Sheets("synthese").Range("B" & Ligne).Value =
> Workbooks(Fichier).Sheets("Saisie").Range("AE5").Value
> Workbooks("synthese.xls").Sheets("synthese").Range("C" & Ligne).Value =
> Workbooks(Fichier).Sheets("Saisie").Range("AE6").Value
> Workbooks("synthese.xls").Sheets("synthese").Range("D" & Ligne).Value =
> Workbooks(Fichier).Sheets("Saisie").Range("AE7").Value
> Workbooks("synthese.xls").Sheets("synthese").Range("E" & Ligne).Value =
> Workbooks(Fichier).Sheets("Saisie").Range("AE8").Value
> Workbooks("synthese.xls").Sheets("synthese").Range("F" & Ligne).Value =
> Workbooks(Fichier).Sheets("Saisie").Range("AE9").Value
> Workbooks("synthese.xls").Sheets("synthese").Range("G" & Ligne).Value =
> Workbooks(Fichier).Sheets("Saisie").Range("AE10").Value
> Workbooks(Fichier).Close SaveChanges:úlse
> Fichier = Dir
> Loop
>
> End Sub
>
>> et encore merci pour le temps que vous me consacrés





Daniel.C
Le #19596271
Remplace :
Workbooks("synthese.xls").Sheets.Add.Range("A4")
par :
Var = Range("A4").Value
ActiveWorkbook.Sheets.Add.Name = Var
daniel


sur celle-ci je pense car la macro ouvre bien le premier fichier
copie les cellules retour sous le fichier synthese et la "proprieté ou
methode non gérees par cet objet"
Workbooks(Fichier).Sheets("Saisie").Range("AE5", "AE10").Copy

--
Cordialement

et avec tout mes remerciements..


"Daniel.C" a écrit :

Sur quelle ligne ?
Daniel

Bonjour, et Merci à vous
voici le code adapté, mais a la 1 ère recup ça coince avec "proprieté ou
methode non gérer par cet objet" ??

Sub Recup_Auto()

Chemin = "C:Budgets"
Fichier = Dir(Chemin & "BUD_*.*")
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
Workbooks(Fichier).Sheets("Saisie").Range("AE5", "AE10").Copy
Workbooks("synthese.xls").Sheets.Add.Range ("A4")
Workbooks("synthese.xls").ActiveSheet.Name = Fichier
Ligne =
Workbooks("synthese.xls").Sheets("synthese").Range("A65530").End(xlUp).Row
+ 1 Workbooks("synthese.xls").Sheets("synthese").Range("A" & Ligne).Value
= Fichier
Workbooks("synthese.xls").Sheets("synthese").Range("B" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE5").Value
Workbooks("synthese.xls").Sheets("synthese").Range("C" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE6").Value
Workbooks("synthese.xls").Sheets("synthese").Range("D" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE7").Value
Workbooks("synthese.xls").Sheets("synthese").Range("E" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE8").Value
Workbooks("synthese.xls").Sheets("synthese").Range("F" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE9").Value
Workbooks("synthese.xls").Sheets("synthese").Range("G" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE10").Value
Workbooks(Fichier).Close SaveChanges:úlse
Fichier = Dir
Loop

End Sub

et encore merci pour le temps que vous me consacrés











Cyr73
Le #19596431
tout d'abord merci de prend du temps pour moi.
je suis désolé, mais j'ai changer d'approche.
je souhaiterais recuperer toutes les infos sur la feuille synthese
cela marche avec le code si dessous sauf que les nom de fichiers
sont bien present mais la macro ne copie que les données du premiers fichier
et pas celle des autres.

Sub Recup_Auto()

'Var = Range("B4").Value
Chemin = "C:Budgets"
Fichier = Dir(Chemin & "BUD_*.*")
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
'ActiveWorkbook.Sheets.Add.Name = Var
'Workbooks("synthese.xls").Sheets.Add.Range ("B4")
'Workbooks("synthese.xls").ActiveSheet.Name = Fichier
Ligne =
Workbooks("synthese.xls").Sheets("synthese").Range("B65530").End(xlUp).Row + 1
Workbooks("synthese.xls").Sheets("synthese").Range("B" & Ligne).Value =
Fichier
Workbooks("synthese.xls").Sheets("synthese").Range("C" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE5").Value
Workbooks("synthese.xls").Sheets("synthese").Range("D" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE6").Value
Workbooks("synthese.xls").Sheets("synthese").Range("E" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE7").Value
Workbooks("synthese.xls").Sheets("synthese").Range("F" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE8").Value
Workbooks("synthese.xls").Sheets("synthese").Range("G" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE9").Value
Workbooks("synthese.xls").Sheets("synthese").Range("H" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE10").Value
Workbooks(Fichier).Close SaveChanges:úlse
Fichier = Dir
Loop

End Sub
Daniel.C
Le #19596881
Peux-tu mettre la feuille synthese dans un classeur et mettre ce
dernier sur www.cijoint.fr.
Poste ensuite ici l'adresse générée.
Daniel

tout d'abord merci de prend du temps pour moi.
je suis désolé, mais j'ai changer d'approche.
je souhaiterais recuperer toutes les infos sur la feuille synthese
cela marche avec le code si dessous sauf que les nom de fichiers
sont bien present mais la macro ne copie que les données du premiers fichier
et pas celle des autres.

Sub Recup_Auto()

'Var = Range("B4").Value
Chemin = "C:Budgets"
Fichier = Dir(Chemin & "BUD_*.*")
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
'ActiveWorkbook.Sheets.Add.Name = Var
'Workbooks("synthese.xls").Sheets.Add.Range ("B4")
'Workbooks("synthese.xls").ActiveSheet.Name = Fichier
Ligne =
Workbooks("synthese.xls").Sheets("synthese").Range("B65530").End(xlUp).Row +
1 Workbooks("synthese.xls").Sheets("synthese").Range("B" & Ligne).Value =
Fichier
Workbooks("synthese.xls").Sheets("synthese").Range("C" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE5").Value
Workbooks("synthese.xls").Sheets("synthese").Range("D" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE6").Value
Workbooks("synthese.xls").Sheets("synthese").Range("E" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE7").Value
Workbooks("synthese.xls").Sheets("synthese").Range("F" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE8").Value
Workbooks("synthese.xls").Sheets("synthese").Range("G" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE9").Value
Workbooks("synthese.xls").Sheets("synthese").Range("H" & Ligne).Value =
Workbooks(Fichier).Sheets("Saisie").Range("AE10").Value
Workbooks(Fichier).Close SaveChanges:úlse
Fichier = Dir
Loop

End Sub


Publicité
Poster une réponse
Anonyme