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

1 réponse

1 2 3
Avatar
isabelle
oups, il faudra adapter le nom du répertoire et le nom de la feuille,

isabelle

isabelle a écrit :
bonjour Marc,

si c'est possible, tu pourrais renommer les fichiers en enlevant
l'apostrophe :

Sub test1()
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:zazaza" '"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.xls" Then
If Not IsError(Application.Search("'", File.Name)) Then
NewName = Application.Substitute(File.Name, "'", "")
OldName = File.Name
Name OldName As NewName
Else
NewName = File.Name
End If
y = y + 1
Cells(6, y + 1) = NewName
Cells(7, y + 1) = ExecuteExcel4Macro("'" & NomDossier & "[" &
NewName & "]Feuil1'!R1C1")
End If
Next
End If
End Sub

isabelle

marc a écrit :
Bonjour Isabelle
Je me révise, cela fonctionne parfaitement
c'est juste que si un fichier comporte un apostrophe, il me fait une
erreur 400.
mais pour le reste, cela fonctionne bien
Merci encore

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


bonjour Marc,

Cherche la clé HKEY_CLASSES_ROOTExcel.Sheet.8shellOpencommand
elle doit être comme ceci :
"C:Program FilesMicrosoft OfficeOfficeEXCEL.EXE" "%1"

isabelle

marc a écrit :

Bonjour Isabelle
C'est ce que j'ai comme option déjà et ça ne fonctionne pas.....
Merci de toujours m'aider.
Marc

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


bonjour Marc,

j'ai retrouvé cette réponse de geedee à propos de ce sujet :
_____________________________________________________________

Voir sous Windows au niveau de l'explorateur,
Menu Outils > option des dossiers...
Onglet types de fichiers
Selectionner l'extension XLS
Bouton Avancé
Modification du type de fichier
Action : Ouvrir
Modifier
le message DDE doit etre :
[open("%1")]

Valider OK

nb : les doubles-quotes sont ici essentielles
_____________________________________________________________

isabelle


marc a écrit :


Bonjour Isabelle
Concernant le nom des fichiers. Si le dossier est sur le C, les
fichiers peuvent contenir des espaces dans le nom. par contre,
dès que j'adapte pour un "drive sur le réseau", il fait une
erreur avec les mêmes fichiers qui sur le C fonctionnait. Est-ce
qu'il y quelque chose que je peux faire.
Merci de ton aide.
Marc

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




bonjour Marc,

je corrige mon erreur,
si tu veut laisser le fichier Total dans le même répertoire,
remplace :
If File.Name <> "Total" Then
par:
If File.Name <> "Total.xls" Then

isabelle

marc a écrit :



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