Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

total de plusieurs fichier avec vba

21 réponses
Avatar
marc
Bonjour à vous tous.
Voici mon problème:
J'ai un dossier sur le C:\Clients\numéro11
Dans ce dossier, j'ai (présentement) 4 fichiers:
Classeur 1
Classeur 2
Classeur 3
Total

Dans chaque fichier (Classeur 1, 2,et 3) j'ai une feuille qui se nomme Mois
Dans le fichier Total, sur la feuille 1 j'aimerais avoir à partir de la cellule B6:
B6= le premier nom du fichier dans ce répertoire (Classeur 1) C6= le montant de la feuille Mois, cellule A1
B7= le deuxième nom du fichier dans ce répertoire (Classeur 2) C6= le montant de la feuille Mois, cellule A1
etc, etc.
Ce que j'aimerais, c'est qu'à chaque fois que j'ajoute un fichier dans ce répertoire, le fichier total se mette à jour
automatiquement.
Est-ce que que quelqu'un peut m'aider.
Merci de votre aide à l'avance
Marc

10 réponses

1 2 3
Avatar
isabelle
bonjour Marc,

copie cette macro sur la page code de ThisWorkBook,

Sub Fichier_Total()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = "c:zaza" '"C:Clientsnuméro11"
Set Dossier = fso.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
If File.Name <> "Total" Then
y = y + 1
Cells(6, y + 1) = File.Name
Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" &
File.Name & "]Mois'!R1C1")
End If
Next
End If
End Sub

isabelle

marc a écrit :
Bonjour à vous tous.
Voici mon problème:
J'ai un dossier sur le C:Clientsnuméro11
Dans ce dossier, j'ai (présentement) 4 fichiers:
Classeur 1
Classeur 2
Classeur 3
Total

Dans chaque fichier (Classeur 1, 2,et 3) j'ai une feuille qui se nomme Mois
Dans le fichier Total, sur la feuille 1 j'aimerais avoir à partir de la cellule B6:
B6= le premier nom du fichier dans ce répertoire (Classeur 1) C6= le montant de la feuille Mois, cellule A1
B7= le deuxième nom du fichier dans ce répertoire (Classeur 2) C6= le montant de la feuille Mois, cellule A1
etc, etc.
Ce que j'aimerais, c'est qu'à chaque fois que j'ajoute un fichier dans ce répertoire, le fichier total se mette à jour
automatiquement.
Est-ce que que quelqu'un peut m'aider.
Merci de votre aide à l'avance
Marc





Avatar
isabelle
ps/ copie cette macro sur la page code de ThisWorkBook du fichier Total

isabelle

isabelle a écrit :
bonjour Marc,

copie cette macro sur la page code de ThisWorkBook,

Sub Fichier_Total()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = "c:zaza" '"C:Clientsnuméro11"
Set Dossier = fso.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
If File.Name <> "Total" Then
y = y + 1
Cells(6, y + 1) = File.Name
Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" &
File.Name & "]Mois'!R1C1")
End If
Next
End If
End Sub

isabelle

marc a écrit :
Bonjour à vous tous.
Voici mon problème:
J'ai un dossier sur le C:Clientsnuméro11
Dans ce dossier, j'ai (présentement) 4 fichiers:
Classeur 1
Classeur 2
Classeur 3
Total

Dans chaque fichier (Classeur 1, 2,et 3) j'ai une feuille qui se
nomme Mois
Dans le fichier Total, sur la feuille 1 j'aimerais avoir à partir de
la cellule B6:
B6= le premier nom du fichier dans ce répertoire (Classeur 1) C6=
le montant de la feuille Mois, cellule A1
B7= le deuxième nom du fichier dans ce répertoire (Classeur 2) C6=
le montant de la feuille Mois, cellule A1
etc, etc.
Ce que j'aimerais, c'est qu'à chaque fois que j'ajoute un fichier
dans ce répertoire, le fichier total se mette à jour automatiquement.
Est-ce que que quelqu'un peut m'aider.
Merci de votre aide à l'avance
Marc






Avatar
marc
Bonjour Isabelle
Ce code ce place en rouge dans mon éditeur:
Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" &
File.Name & "]Mois'!R1C1")

Merci de toujours m'aider
Marc

"isabelle" a écrit dans le message de news:
ps/ copie cette macro sur la page code de ThisWorkBook du fichier Total

isabelle

isabelle a écrit :
bonjour Marc,

copie cette macro sur la page code de ThisWorkBook,

Sub Fichier_Total()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = "c:zaza" '"C:Clientsnuméro11"
Set Dossier = fso.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
If File.Name <> "Total" Then
y = y + 1
Cells(6, y + 1) = File.Name
Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" & File.Name & "]Mois'!R1C1")
End If
Next
End If
End Sub

isabelle

marc a écrit :
Bonjour à vous tous.
Voici mon problème:
J'ai un dossier sur le C:Clientsnuméro11
Dans ce dossier, j'ai (présentement) 4 fichiers:
Classeur 1
Classeur 2
Classeur 3
Total

Dans chaque fichier (Classeur 1, 2,et 3) j'ai une feuille qui se nomme Mois
Dans le fichier Total, sur la feuille 1 j'aimerais avoir à partir de la cellule B6:
B6= le premier nom du fichier dans ce répertoire (Classeur 1) C6= le montant de la feuille Mois, cellule A1
B7= le deuxième nom du fichier dans ce répertoire (Classeur 2) C6= le montant de la feuille Mois, cellule A1
etc, etc.
Ce que j'aimerais, c'est qu'à chaque fois que j'ajoute un fichier dans ce répertoire, le fichier total se mette à jour
automatiquement.
Est-ce que que quelqu'un peut m'aider.
Merci de votre aide à l'avance
Marc








Avatar
isabelle
bonjour Marc,

remets le sur une seule ligne,

Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" & File.Name & "]Mois'!R1C1")

isabelle

marc a écrit :
Bonjour Isabelle
Ce code ce place en rouge dans mon éditeur:
Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" &
File.Name & "]Mois'!R1C1")

Merci de toujours m'aider
Marc

"isabelle" a écrit dans le message de news:

ps/ copie cette macro sur la page code de ThisWorkBook du fichier Total

isabelle

isabelle a écrit :

bonjour Marc,

copie cette macro sur la page code de ThisWorkBook,

Sub Fichier_Total()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = "c:zaza" '"C:Clientsnuméro11"
Set Dossier = fso.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
If File.Name <> "Total" Then
y = y + 1
Cells(6, y + 1) = File.Name
Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" & File.Name & "]Mois'!R1C1")
End If
Next
End If
End Sub

isabelle

marc a écrit :

Bonjour à vous tous.
Voici mon problème:
J'ai un dossier sur le C:Clientsnuméro11
Dans ce dossier, j'ai (présentement) 4 fichiers:
Classeur 1
Classeur 2
Classeur 3
Total

Dans chaque fichier (Classeur 1, 2,et 3) j'ai une feuille qui se nomme Mois
Dans le fichier Total, sur la feuille 1 j'aimerais avoir à partir de la cellule B6:
B6= le premier nom du fichier dans ce répertoire (Classeur 1) C6= le montant de la feuille Mois, cellule A1
B7= le deuxième nom du fichier dans ce répertoire (Classeur 2) C6= le montant de la feuille Mois, cellule A1
etc, etc.
Ce que j'aimerais, c'est qu'à chaque fois que j'ajoute un fichier dans ce répertoire, le fichier total se mette à jour
automatiquement.
Est-ce que que quelqu'un peut m'aider.
Merci de votre aide à l'avance
Marc














Avatar
MichDenis
> Bonjour Isabelle
Ce code ce place en rouge dans mon éditeur:



*** SVP Isabelle, change de place... tu as assez pris de
soleil pour aujourd'hui, même ton code rougit.
Avatar
marc
Isabelle
ça fonctionne. Mais j'ai deux questions.
1. Présentement, le premier fichier s'écrit dans la cellule B6 avec le résultat en B7. Le deuxième nom en C6 et le résultat en C7.
Si je veux : le premier fichier en B6 et son résultat en C6 et le deuxième en B7 et son résultat en C7, que dois je modifier au
code?
2. Après l'avoir exécuté, la macro indique une erreur 400. Est-ce que c'est parce que mon fichier total est dans le même répertoire?

Je sais que cela fait plusieurs fois que je te le dis, mais merci pour ton aide
Marc

"isabelle" a écrit dans le message de news:
bonjour Marc,

remets le sur une seule ligne,

Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" & File.Name & "]Mois'!R1C1")

isabelle

marc a écrit :
Bonjour Isabelle
Ce code ce place en rouge dans mon éditeur:
Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" &
File.Name & "]Mois'!R1C1")

Merci de toujours m'aider
Marc

"isabelle" a écrit dans le message de news:

ps/ copie cette macro sur la page code de ThisWorkBook du fichier Total

isabelle

isabelle a écrit :

bonjour Marc,

copie cette macro sur la page code de ThisWorkBook,

Sub Fichier_Total()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = "c:zaza" '"C:Clientsnuméro11"
Set Dossier = fso.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
If File.Name <> "Total" Then
y = y + 1
Cells(6, y + 1) = File.Name
Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" & File.Name & "]Mois'!R1C1")
End If
Next
End If
End Sub

isabelle

marc a écrit :

Bonjour à vous tous.
Voici mon problème:
J'ai un dossier sur le C:Clientsnuméro11
Dans ce dossier, j'ai (présentement) 4 fichiers:
Classeur 1
Classeur 2
Classeur 3
Total

Dans chaque fichier (Classeur 1, 2,et 3) j'ai une feuille qui se nomme Mois
Dans le fichier Total, sur la feuille 1 j'aimerais avoir à partir de la cellule B6:
B6= le premier nom du fichier dans ce répertoire (Classeur 1) C6= le montant de la feuille Mois, cellule A1
B7= le deuxième nom du fichier dans ce répertoire (Classeur 2) C6= le montant de la feuille Mois, cellule A1
etc, etc.
Ce que j'aimerais, c'est qu'à chaque fois que j'ajoute un fichier dans ce répertoire, le fichier total se mette à jour
automatiquement.
Est-ce que que quelqu'un peut m'aider.
Merci de votre aide à l'avance
Marc
















Avatar
isabelle
MichDenis a écrit :
Bonjour Isabelle
Ce code ce place en rouge dans mon éditeur:




*** SVP Isabelle, change de place... tu as assez pris de
soleil pour aujourd'hui, même ton code rougit.




ok, je m'en vais voir le vrai galarneau ;-)
isabelle
Avatar
isabelle
bonjour Marc,

remplace :

Cells(6, y + 1) = File.Name

Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" & File.Name & "]Mois'!R1C1")


par :

Range("B" & y + 5) = File.Name
Range("C" & y + 5) = ExecuteExcel4Macro("'" & NomDossier & "[" &
File.Name & "]Mois'!R1C1")


isabelle

marc a écrit :
Isabelle
ça fonctionne. Mais j'ai deux questions.
1. Présentement, le premier fichier s'écrit dans la cellule B6 avec le résultat en B7. Le deuxième nom en C6 et le résultat en C7.
Si je veux : le premier fichier en B6 et son résultat en C6 et le deuxième en B7 et son résultat en C7, que dois je modifier au
code?
2. Après l'avoir exécuté, la macro indique une erreur 400. Est-ce que c'est parce que mon fichier total est dans le même répertoire?

Je sais que cela fait plusieurs fois que je te le dis, mais merci pour ton aide
Marc

"isabelle" a écrit dans le message de news:

bonjour Marc,

remets le sur une seule ligne,

Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" & File.Name & "]Mois'!R1C1")

isabelle

marc a écrit :

Bonjour Isabelle
Ce code ce place en rouge dans mon éditeur:
Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" &
File.Name & "]Mois'!R1C1")

Merci de toujours m'aider
Marc

"isabelle" a écrit dans le message de news:


ps/ copie cette macro sur la page code de ThisWorkBook du fichier Total

isabelle

isabelle a écrit :


bonjour Marc,

copie cette macro sur la page code de ThisWorkBook,

Sub Fichier_Total()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = "c:zaza" '"C:Clientsnuméro11"
Set Dossier = fso.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
If File.Name <> "Total" Then
y = y + 1
Cells(6, y + 1) = File.Name
Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" & File.Name & "]Mois'!R1C1")
End If
Next
End If
End Sub

isabelle

marc a écrit :


Bonjour à vous tous.
Voici mon problème:
J'ai un dossier sur le C:Clientsnuméro11
Dans ce dossier, j'ai (présentement) 4 fichiers:
Classeur 1
Classeur 2
Classeur 3
Total

Dans chaque fichier (Classeur 1, 2,et 3) j'ai une feuille qui se nomme Mois
Dans le fichier Total, sur la feuille 1 j'aimerais avoir à partir de la cellule B6:
B6= le premier nom du fichier dans ce répertoire (Classeur 1) C6= le montant de la feuille Mois, cellule A1
B7= le deuxième nom du fichier dans ce répertoire (Classeur 2) C6= le montant de la feuille Mois, cellule A1
etc, etc.
Ce que j'aimerais, c'est qu'à chaque fois que j'ajoute un fichier dans ce répertoire, le fichier total se mette à jour
automatiquement.
Est-ce que que quelqu'un peut m'aider.
Merci de votre aide à l'avance
Marc





















Avatar
isabelle
marc a écrit :
Isabelle
ça fonctionne. Mais j'ai deux questions.
1. Présentement, le premier fichier s'écrit dans la cellule B6 avec le résultat en B7. Le deuxième nom en C6 et le résultat en C7.
Si je veux : le premier fichier en B6 et son résultat en C6 et le deuxième en B7 et son résultat en C7, que dois je modifier au
code?
2. Après l'avoir exécuté, la macro indique une erreur 400. Est-ce que c'est parce que mon fichier total est dans le même répertoire?



est ce que tu sais sur quel ligne il se produit l'erreur ? (appuyer sur
debug et noter la ligne en jaune)

isabelle
Avatar
marc
Bonjour Isabelle
J'ai mis le fichier "ailleurs" que dans le répertoire et l'erreur est disparu.
Un gros merci pour ton aide, ça fonctionne parfaitement.
Merci et bonne fin de journée
Marc
"isabelle" a écrit dans le message de news: %


marc a écrit :
Isabelle
ça fonctionne. Mais j'ai deux questions.
1. Présentement, le premier fichier s'écrit dans la cellule B6 avec le résultat en B7. Le deuxième nom en C6 et le résultat en
C7.
Si je veux : le premier fichier en B6 et son résultat en C6 et le deuxième en B7 et son résultat en C7, que dois je modifier au
code?
2. Après l'avoir exécuté, la macro indique une erreur 400. Est-ce que c'est parce que mon fichier total est dans le même
répertoire?



est ce que tu sais sur quel ligne il se produit l'erreur ? (appuyer sur debug et noter la ligne en jaune)

isabelle


1 2 3