Bonjour
sur un serveur, j'ai une dizaine de dossiers avec un fichier par
dossier
est il possible de declencher la meme macro qui se trouve dans chaque
fichier et d'en imprimer les éléments qui sont sur une feuille.
chaque feuille à imprimer à le meme nom
en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
10
puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'au
10
merci de m'éclairer
Bonjour
sur un serveur, j'ai une dizaine de dossiers avec un fichier par
dossier
est il possible de declencher la meme macro qui se trouve dans chaque
fichier et d'en imprimer les éléments qui sont sur une feuille.
chaque feuille à imprimer à le meme nom
en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
10
puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'au
10
merci de m'éclairer
Bonjour
sur un serveur, j'ai une dizaine de dossiers avec un fichier par
dossier
est il possible de declencher la meme macro qui se trouve dans chaque
fichier et d'en imprimer les éléments qui sont sur une feuille.
chaque feuille à imprimer à le meme nom
en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
10
puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'au
10
merci de m'éclairer
Bonjour
sur un serveur, j'ai une dizaine de dossiers avec un fichier par
dossier
est il possible de declencher la meme macro qui se trouve dans chaque
fichier et d'en imprimer les éléments qui sont sur une feuille.
chaque feuille à imprimer à le meme nom
en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
10
puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'au
10
merci de m'éclairer
Bonjour
sur un serveur, j'ai une dizaine de dossiers avec un fichier par
dossier
est il possible de declencher la meme macro qui se trouve dans chaque
fichier et d'en imprimer les éléments qui sont sur une feuille.
chaque feuille à imprimer à le meme nom
en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
10
puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'au
10
merci de m'éclairer
Bonjour
sur un serveur, j'ai une dizaine de dossiers avec un fichier par
dossier
est il possible de declencher la meme macro qui se trouve dans chaque
fichier et d'en imprimer les éléments qui sont sur une feuille.
chaque feuille à imprimer à le meme nom
en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
10
puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'au
10
merci de m'éclairer
A tout hasard, essaie :
Sub test()
Dim inCalculationMode As Integer
Application.ScreenUpdating = False
inCalculationMode = Application.Calculation
Application.Calculation = xlCalculationManual
Dim Fich As String, Doss As Object, Parent As String
Dim FSO As Object, F As Object
Parent = "c:temp" 'à modifier
Set FSO = CreateObject("scripting.FileSystemObject")
For Each Doss In FSO.getfolder(Parent).subfolders
For Each F In Doss.Files
Fich = F.Path
If Fich <> "" Then
If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3)) = "xls"
Then
Workbooks.Open Fich
Sheets("recap").PrintOut
ActiveWorkbook.Close False
Exit For
End If
End If
Next
Next Doss
Application.Calculation = inCalculationMode
Application.ScreenUpdating = True
End Sub
Daniel
> Bonjour
> sur un serveur, j'ai une dizaine de dossiers avec un fichier par
> dossier
> est il possible de declencher la meme macro qui se trouve dans chaque
> fichier et d'en imprimer les éléments qui sont sur une feuille.
> chaque feuille à imprimer à le meme nom
> en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
> 10
> puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'au
> 10
> merci de m'éclairer
A tout hasard, essaie :
Sub test()
Dim inCalculationMode As Integer
Application.ScreenUpdating = False
inCalculationMode = Application.Calculation
Application.Calculation = xlCalculationManual
Dim Fich As String, Doss As Object, Parent As String
Dim FSO As Object, F As Object
Parent = "c:temp" 'à modifier
Set FSO = CreateObject("scripting.FileSystemObject")
For Each Doss In FSO.getfolder(Parent).subfolders
For Each F In Doss.Files
Fich = F.Path
If Fich <> "" Then
If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3)) = "xls"
Then
Workbooks.Open Fich
Sheets("recap").PrintOut
ActiveWorkbook.Close False
Exit For
End If
End If
Next
Next Doss
Application.Calculation = inCalculationMode
Application.ScreenUpdating = True
End Sub
Daniel
> Bonjour
> sur un serveur, j'ai une dizaine de dossiers avec un fichier par
> dossier
> est il possible de declencher la meme macro qui se trouve dans chaque
> fichier et d'en imprimer les éléments qui sont sur une feuille.
> chaque feuille à imprimer à le meme nom
> en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
> 10
> puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'au
> 10
> merci de m'éclairer
A tout hasard, essaie :
Sub test()
Dim inCalculationMode As Integer
Application.ScreenUpdating = False
inCalculationMode = Application.Calculation
Application.Calculation = xlCalculationManual
Dim Fich As String, Doss As Object, Parent As String
Dim FSO As Object, F As Object
Parent = "c:temp" 'à modifier
Set FSO = CreateObject("scripting.FileSystemObject")
For Each Doss In FSO.getfolder(Parent).subfolders
For Each F In Doss.Files
Fich = F.Path
If Fich <> "" Then
If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3)) = "xls"
Then
Workbooks.Open Fich
Sheets("recap").PrintOut
ActiveWorkbook.Close False
Exit For
End If
End If
Next
Next Doss
Application.Calculation = inCalculationMode
Application.ScreenUpdating = True
End Sub
Daniel
> Bonjour
> sur un serveur, j'ai une dizaine de dossiers avec un fichier par
> dossier
> est il possible de declencher la meme macro qui se trouve dans chaque
> fichier et d'en imprimer les éléments qui sont sur une feuille.
> chaque feuille à imprimer à le meme nom
> en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
> 10
> puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'au
> 10
> merci de m'éclairer
On 29 avr, 10:49, DanielCo wrote:
> A tout hasard, essaie :
> Sub test()
> Dim inCalculationMode As Integer
> Application.ScreenUpdating = False
> inCalculationMode = Application.Calculation
> Application.Calculation = xlCalculationManual
> Dim Fich As String, Doss As Object, Parent As String
> Dim FSO As Object, F As Object
> Parent = "c:temp" 'à modifier
> Set FSO = CreateObject("scripting.FileSystemObject")
> For Each Doss In FSO.getfolder(Parent).subfolders
> For Each F In Doss.Files
> Fich = F.Path
> If Fich <> "" Then
> If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3)) = "xls"
> Then
> Workbooks.Open Fich
> Sheets("recap").PrintOut
> ActiveWorkbook.Close False
> Exit For
> End If
> End If
> Next
> Next Doss
> Application.Calculation = inCalculationMode
> Application.ScreenUpdating = True
> End Sub
> Daniel
> > Bonjour
> > sur un serveur, j'ai une dizaine de dossiers avec un fichier par
> > dossier
> > est il possible de declencher la meme macro qui se trouve dans chaque
> > fichier et d'en imprimer les éléments qui sont sur une feuille.
> > chaque feuille à imprimer à le meme nom
> > en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
> > 10
> > puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'a u
> > 10
> > merci de m'éclairer
Waououh quel code !!
En effet le dossier parent ne comporte que les fichiers en question.
Je teste lundi et te tiens au courant.
Bravo et encore merci
On 29 avr, 10:49, DanielCo <dcolardelle...@free.fr> wrote:
> A tout hasard, essaie :
> Sub test()
> Dim inCalculationMode As Integer
> Application.ScreenUpdating = False
> inCalculationMode = Application.Calculation
> Application.Calculation = xlCalculationManual
> Dim Fich As String, Doss As Object, Parent As String
> Dim FSO As Object, F As Object
> Parent = "c:temp" 'à modifier
> Set FSO = CreateObject("scripting.FileSystemObject")
> For Each Doss In FSO.getfolder(Parent).subfolders
> For Each F In Doss.Files
> Fich = F.Path
> If Fich <> "" Then
> If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3)) = "xls"
> Then
> Workbooks.Open Fich
> Sheets("recap").PrintOut
> ActiveWorkbook.Close False
> Exit For
> End If
> End If
> Next
> Next Doss
> Application.Calculation = inCalculationMode
> Application.ScreenUpdating = True
> End Sub
> Daniel
> > Bonjour
> > sur un serveur, j'ai une dizaine de dossiers avec un fichier par
> > dossier
> > est il possible de declencher la meme macro qui se trouve dans chaque
> > fichier et d'en imprimer les éléments qui sont sur une feuille.
> > chaque feuille à imprimer à le meme nom
> > en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
> > 10
> > puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'a u
> > 10
> > merci de m'éclairer
Waououh quel code !!
En effet le dossier parent ne comporte que les fichiers en question.
Je teste lundi et te tiens au courant.
Bravo et encore merci
On 29 avr, 10:49, DanielCo wrote:
> A tout hasard, essaie :
> Sub test()
> Dim inCalculationMode As Integer
> Application.ScreenUpdating = False
> inCalculationMode = Application.Calculation
> Application.Calculation = xlCalculationManual
> Dim Fich As String, Doss As Object, Parent As String
> Dim FSO As Object, F As Object
> Parent = "c:temp" 'à modifier
> Set FSO = CreateObject("scripting.FileSystemObject")
> For Each Doss In FSO.getfolder(Parent).subfolders
> For Each F In Doss.Files
> Fich = F.Path
> If Fich <> "" Then
> If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3)) = "xls"
> Then
> Workbooks.Open Fich
> Sheets("recap").PrintOut
> ActiveWorkbook.Close False
> Exit For
> End If
> End If
> Next
> Next Doss
> Application.Calculation = inCalculationMode
> Application.ScreenUpdating = True
> End Sub
> Daniel
> > Bonjour
> > sur un serveur, j'ai une dizaine de dossiers avec un fichier par
> > dossier
> > est il possible de declencher la meme macro qui se trouve dans chaque
> > fichier et d'en imprimer les éléments qui sont sur une feuille.
> > chaque feuille à imprimer à le meme nom
> > en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
> > 10
> > puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'a u
> > 10
> > merci de m'éclairer
Waououh quel code !!
En effet le dossier parent ne comporte que les fichiers en question.
Je teste lundi et te tiens au courant.
Bravo et encore merci
On 29 avr, 16:07, magic-dd wrote:On 29 avr, 10:49, DanielCo wrote:A tout hasard, essaie :Sub test()
Dim inCalculationMode As Integer
Application.ScreenUpdating = False
inCalculationMode = Application.Calculation
Application.Calculation = xlCalculationManual
Dim Fich As String, Doss As Object, Parent As String
Dim FSO As Object, F As Object
Parent = "c:temp" 'à modifier
Set FSO = CreateObject("scripting.FileSystemObject")
For Each Doss In FSO.getfolder(Parent).subfolders
For Each F In Doss.Files
Fich = F.Path
If Fich <> "" Then
If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3)) = "xls"
Then
Workbooks.Open Fich
Sheets("recap").PrintOut
ActiveWorkbook.Close False
Exit For
End If
End If
Next
Next Doss
Application.Calculation = inCalculationMode
Application.ScreenUpdating = True
End SubDanielBonjoursur un serveur, j'ai une dizaine de dossiers avec un fichier par
dossierest il possible de declencher la meme macro qui se trouve dans chaque
fichier et d'en imprimer les éléments qui sont sur une feuille.
chaque feuille à imprimer à le meme nom
en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
10puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'au
10merci de m'éclairer
Waououh quel code !!
En effet le dossier parent ne comporte que les fichiers en question.
Je teste lundi et te tiens au courant.
Bravo et encore merci
rebonjour
alors j'ai bien essayé et ca marche parfaitement
maintenant est il possible que la macro qui s'appelle tri dans chaque
classeur puisse se declencher
entre
Workbooks.Open Fich
boite de dialogue demandant un chiffre entre 1 et 8
Feuil4.range("B14").value = resultat de la boite de dialogue
activation de la macro appelé tri (peut etre que le probleme est que
ma macro possede un nom de feuille different car chaque fichier à un
nom différent, il faut peut etre faire un activesheet......plutot
qu'un sheets("NomdeMaFeuille")
et enfin reprendre le code que tu m'a donné précédemment
Sheets("recap").PrintOut
merci encore
On 29 avr, 16:07, magic-dd <ciolan...@gmail.com> wrote:
On 29 avr, 10:49, DanielCo <dcolardelle...@free.fr> wrote:
A tout hasard, essaie :
Sub test()
Dim inCalculationMode As Integer
Application.ScreenUpdating = False
inCalculationMode = Application.Calculation
Application.Calculation = xlCalculationManual
Dim Fich As String, Doss As Object, Parent As String
Dim FSO As Object, F As Object
Parent = "c:temp" 'à modifier
Set FSO = CreateObject("scripting.FileSystemObject")
For Each Doss In FSO.getfolder(Parent).subfolders
For Each F In Doss.Files
Fich = F.Path
If Fich <> "" Then
If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3)) = "xls"
Then
Workbooks.Open Fich
Sheets("recap").PrintOut
ActiveWorkbook.Close False
Exit For
End If
End If
Next
Next Doss
Application.Calculation = inCalculationMode
Application.ScreenUpdating = True
End Sub
Daniel
Bonjour
sur un serveur, j'ai une dizaine de dossiers avec un fichier par
dossier
est il possible de declencher la meme macro qui se trouve dans chaque
fichier et d'en imprimer les éléments qui sont sur une feuille.
chaque feuille à imprimer à le meme nom
en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
10
puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'au
10
merci de m'éclairer
Waououh quel code !!
En effet le dossier parent ne comporte que les fichiers en question.
Je teste lundi et te tiens au courant.
Bravo et encore merci
rebonjour
alors j'ai bien essayé et ca marche parfaitement
maintenant est il possible que la macro qui s'appelle tri dans chaque
classeur puisse se declencher
entre
Workbooks.Open Fich
boite de dialogue demandant un chiffre entre 1 et 8
Feuil4.range("B14").value = resultat de la boite de dialogue
activation de la macro appelé tri (peut etre que le probleme est que
ma macro possede un nom de feuille different car chaque fichier à un
nom différent, il faut peut etre faire un activesheet......plutot
qu'un sheets("NomdeMaFeuille")
et enfin reprendre le code que tu m'a donné précédemment
Sheets("recap").PrintOut
merci encore
On 29 avr, 16:07, magic-dd wrote:On 29 avr, 10:49, DanielCo wrote:A tout hasard, essaie :Sub test()
Dim inCalculationMode As Integer
Application.ScreenUpdating = False
inCalculationMode = Application.Calculation
Application.Calculation = xlCalculationManual
Dim Fich As String, Doss As Object, Parent As String
Dim FSO As Object, F As Object
Parent = "c:temp" 'à modifier
Set FSO = CreateObject("scripting.FileSystemObject")
For Each Doss In FSO.getfolder(Parent).subfolders
For Each F In Doss.Files
Fich = F.Path
If Fich <> "" Then
If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3)) = "xls"
Then
Workbooks.Open Fich
Sheets("recap").PrintOut
ActiveWorkbook.Close False
Exit For
End If
End If
Next
Next Doss
Application.Calculation = inCalculationMode
Application.ScreenUpdating = True
End SubDanielBonjoursur un serveur, j'ai une dizaine de dossiers avec un fichier par
dossierest il possible de declencher la meme macro qui se trouve dans chaque
fichier et d'en imprimer les éléments qui sont sur une feuille.
chaque feuille à imprimer à le meme nom
en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
10puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu'au
10merci de m'éclairer
Waououh quel code !!
En effet le dossier parent ne comporte que les fichiers en question.
Je teste lundi et te tiens au courant.
Bravo et encore merci
rebonjour
alors j'ai bien essayé et ca marche parfaitement
maintenant est il possible que la macro qui s'appelle tri dans chaque
classeur puisse se declencher
entre
Workbooks.Open Fich
boite de dialogue demandant un chiffre entre 1 et 8
Feuil4.range("B14").value = resultat de la boite de dialogue
activation de la macro appelé tri (peut etre que le probleme est que
ma macro possede un nom de feuille different car chaque fichier à un
nom différent, il faut peut etre faire un activesheet......plutot
qu'un sheets("NomdeMaFeuille")
et enfin reprendre le code que tu m'a donné précédemment
Sheets("recap").PrintOut
merci encore
Bonjour,
Non testé :
Sub test()
Dim inCalculationMode As Integer
Application.ScreenUpdating = False
inCalculationMode = Application.Calculation
Application.Calculation = xlCalculationManual
Dim Fich As String, Doss As Object, Parent As String
Dim FSO As Object, F As Object
Parent = "d:donneesdaniel"
Set FSO = CreateObject("scripting.FileSystemObject")
For Each Doss In FSO.getfolder(Parent).subfolders
For Each F In Doss.Files
Fich = F.Path
If Fich <> "" Then
If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3)) = "xls"
Then
Workbooks.Open Fich
Do
Var = InputBox("Entrez un chiff re entre 1 et 8")
If IsNumeric(Var) Then
Var = CInt(Var)
If Var > 0 And Var < 9 Th en
Feuil4.Range("B14 ").Value = Var
Application.Run F .Name & "!tri"
Exit Do
End If
End If
MsgBox "valeur incorrecte"
Loop
Sheets("recap").PrintOut
ActiveWorkbook.Close False
Exit For
End If
End If
Next
Next Doss
Application.Calculation = inCalculationMode
Application.ScreenUpdating = True
End Sub
Daniel
> On 29 avr, 16:07, magic-dd wrote:
>> On 29 avr, 10:49, DanielCo wrote:
>>> A tout hasard, essaie :
>>> Sub test()
>>> Dim inCalculationMode As Integer
>>> Application.ScreenUpdating = False
>>> inCalculationMode = Application.Calculation
>>> Application.Calculation = xlCalculationManual
>>> Dim Fich As String, Doss As Object, Parent As String
>>> Dim FSO As Object, F As Object
>>> Parent = "c:temp" 'à modifier
>>> Set FSO = CreateObject("scripting.FileSystemObject")
>>> For Each Doss In FSO.getfolder(Parent).subfolders
>>> For Each F In Doss.Files
>>> Fich = F.Path
>>> If Fich <> "" Then
>>> If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3 )) = "xls"
>>> Then
>>> Workbooks.Open Fich
>>> Sheets("recap").PrintOut
>>> ActiveWorkbook.Close False
>>> Exit For
>>> End If
>>> End If
>>> Next
>>> Next Doss
>>> Application.Calculation = inCalculationMode
>>> Application.ScreenUpdating = True
>>> End Sub
>>> Daniel
>>>> Bonjour
>>>> sur un serveur, j'ai une dizaine de dossiers avec un fichier par
>>>> dossier
>>>> est il possible de declencher la meme macro qui se trouve dans chaqu e
>>>> fichier et d'en imprimer les éléments qui sont sur une feuille.
>>>> chaque feuille à imprimer à le meme nom
>>>> en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
>>>> 10
>>>> puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu' au
>>>> 10
>>>> merci de m'éclairer
>> Waououh quel code !!
>> En effet le dossier parent ne comporte que les fichiers en question.
>> Je teste lundi et te tiens au courant.
>> Bravo et encore merci
> rebonjour
> alors j'ai bien essayé et ca marche parfaitement
> maintenant est il possible que la macro qui s'appelle tri dans chaqu e
> classeur puisse se declencher
> entre
> Workbooks.Open Fich
> boite de dialogue demandant un chiffre entre 1 et 8
> Feuil4.range("B14").value = resultat de la boite de dialogue
> activation de la macro appelé tri (peut etre que le probleme est que
> ma macro possede un nom de feuille different car chaque fichier à un
> nom différent, il faut peut etre faire un activesheet......plutot
> qu'un sheets("NomdeMaFeuille")
> et enfin reprendre le code que tu m'a donné précédemment
> Sheets("recap").PrintOut
> merci encore
Bonjour,
Non testé :
Sub test()
Dim inCalculationMode As Integer
Application.ScreenUpdating = False
inCalculationMode = Application.Calculation
Application.Calculation = xlCalculationManual
Dim Fich As String, Doss As Object, Parent As String
Dim FSO As Object, F As Object
Parent = "d:donneesdaniel"
Set FSO = CreateObject("scripting.FileSystemObject")
For Each Doss In FSO.getfolder(Parent).subfolders
For Each F In Doss.Files
Fich = F.Path
If Fich <> "" Then
If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3)) = "xls"
Then
Workbooks.Open Fich
Do
Var = InputBox("Entrez un chiff re entre 1 et 8")
If IsNumeric(Var) Then
Var = CInt(Var)
If Var > 0 And Var < 9 Th en
Feuil4.Range("B14 ").Value = Var
Application.Run F .Name & "!tri"
Exit Do
End If
End If
MsgBox "valeur incorrecte"
Loop
Sheets("recap").PrintOut
ActiveWorkbook.Close False
Exit For
End If
End If
Next
Next Doss
Application.Calculation = inCalculationMode
Application.ScreenUpdating = True
End Sub
Daniel
> On 29 avr, 16:07, magic-dd <ciolan...@gmail.com> wrote:
>> On 29 avr, 10:49, DanielCo <dcolardelle...@free.fr> wrote:
>>> A tout hasard, essaie :
>>> Sub test()
>>> Dim inCalculationMode As Integer
>>> Application.ScreenUpdating = False
>>> inCalculationMode = Application.Calculation
>>> Application.Calculation = xlCalculationManual
>>> Dim Fich As String, Doss As Object, Parent As String
>>> Dim FSO As Object, F As Object
>>> Parent = "c:temp" 'à modifier
>>> Set FSO = CreateObject("scripting.FileSystemObject")
>>> For Each Doss In FSO.getfolder(Parent).subfolders
>>> For Each F In Doss.Files
>>> Fich = F.Path
>>> If Fich <> "" Then
>>> If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3 )) = "xls"
>>> Then
>>> Workbooks.Open Fich
>>> Sheets("recap").PrintOut
>>> ActiveWorkbook.Close False
>>> Exit For
>>> End If
>>> End If
>>> Next
>>> Next Doss
>>> Application.Calculation = inCalculationMode
>>> Application.ScreenUpdating = True
>>> End Sub
>>> Daniel
>>>> Bonjour
>>>> sur un serveur, j'ai une dizaine de dossiers avec un fichier par
>>>> dossier
>>>> est il possible de declencher la meme macro qui se trouve dans chaqu e
>>>> fichier et d'en imprimer les éléments qui sont sur une feuille.
>>>> chaque feuille à imprimer à le meme nom
>>>> en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
>>>> 10
>>>> puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu' au
>>>> 10
>>>> merci de m'éclairer
>> Waououh quel code !!
>> En effet le dossier parent ne comporte que les fichiers en question.
>> Je teste lundi et te tiens au courant.
>> Bravo et encore merci
> rebonjour
> alors j'ai bien essayé et ca marche parfaitement
> maintenant est il possible que la macro qui s'appelle tri dans chaqu e
> classeur puisse se declencher
> entre
> Workbooks.Open Fich
> boite de dialogue demandant un chiffre entre 1 et 8
> Feuil4.range("B14").value = resultat de la boite de dialogue
> activation de la macro appelé tri (peut etre que le probleme est que
> ma macro possede un nom de feuille different car chaque fichier à un
> nom différent, il faut peut etre faire un activesheet......plutot
> qu'un sheets("NomdeMaFeuille")
> et enfin reprendre le code que tu m'a donné précédemment
> Sheets("recap").PrintOut
> merci encore
Bonjour,
Non testé :
Sub test()
Dim inCalculationMode As Integer
Application.ScreenUpdating = False
inCalculationMode = Application.Calculation
Application.Calculation = xlCalculationManual
Dim Fich As String, Doss As Object, Parent As String
Dim FSO As Object, F As Object
Parent = "d:donneesdaniel"
Set FSO = CreateObject("scripting.FileSystemObject")
For Each Doss In FSO.getfolder(Parent).subfolders
For Each F In Doss.Files
Fich = F.Path
If Fich <> "" Then
If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3)) = "xls"
Then
Workbooks.Open Fich
Do
Var = InputBox("Entrez un chiff re entre 1 et 8")
If IsNumeric(Var) Then
Var = CInt(Var)
If Var > 0 And Var < 9 Th en
Feuil4.Range("B14 ").Value = Var
Application.Run F .Name & "!tri"
Exit Do
End If
End If
MsgBox "valeur incorrecte"
Loop
Sheets("recap").PrintOut
ActiveWorkbook.Close False
Exit For
End If
End If
Next
Next Doss
Application.Calculation = inCalculationMode
Application.ScreenUpdating = True
End Sub
Daniel
> On 29 avr, 16:07, magic-dd wrote:
>> On 29 avr, 10:49, DanielCo wrote:
>>> A tout hasard, essaie :
>>> Sub test()
>>> Dim inCalculationMode As Integer
>>> Application.ScreenUpdating = False
>>> inCalculationMode = Application.Calculation
>>> Application.Calculation = xlCalculationManual
>>> Dim Fich As String, Doss As Object, Parent As String
>>> Dim FSO As Object, F As Object
>>> Parent = "c:temp" 'à modifier
>>> Set FSO = CreateObject("scripting.FileSystemObject")
>>> For Each Doss In FSO.getfolder(Parent).subfolders
>>> For Each F In Doss.Files
>>> Fich = F.Path
>>> If Fich <> "" Then
>>> If LCase(Mid(Fich, InStrRev(Fich, ".") + 1, 3 )) = "xls"
>>> Then
>>> Workbooks.Open Fich
>>> Sheets("recap").PrintOut
>>> ActiveWorkbook.Close False
>>> Exit For
>>> End If
>>> End If
>>> Next
>>> Next Doss
>>> Application.Calculation = inCalculationMode
>>> Application.ScreenUpdating = True
>>> End Sub
>>> Daniel
>>>> Bonjour
>>>> sur un serveur, j'ai une dizaine de dossiers avec un fichier par
>>>> dossier
>>>> est il possible de declencher la meme macro qui se trouve dans chaqu e
>>>> fichier et d'en imprimer les éléments qui sont sur une feuille.
>>>> chaque feuille à imprimer à le meme nom
>>>> en gros, activer la macro du classeur 1 dans dossier 1 .....jusqu'au
>>>> 10
>>>> puis imprimer la feuille recap du classeur 1 du dossier 1 ... jusqu' au
>>>> 10
>>>> merci de m'éclairer
>> Waououh quel code !!
>> En effet le dossier parent ne comporte que les fichiers en question.
>> Je teste lundi et te tiens au courant.
>> Bravo et encore merci
> rebonjour
> alors j'ai bien essayé et ca marche parfaitement
> maintenant est il possible que la macro qui s'appelle tri dans chaqu e
> classeur puisse se declencher
> entre
> Workbooks.Open Fich
> boite de dialogue demandant un chiffre entre 1 et 8
> Feuil4.range("B14").value = resultat de la boite de dialogue
> activation de la macro appelé tri (peut etre que le probleme est que
> ma macro possede un nom de feuille different car chaque fichier à un
> nom différent, il faut peut etre faire un activesheet......plutot
> qu'un sheets("NomdeMaFeuille")
> et enfin reprendre le code que tu m'a donné précédemment
> Sheets("recap").PrintOut
> merci encore