papychampi
Messages postés1Date d'inscriptionsamedi 17 mai 2008StatutMembreDernière intervention 7 février 2012 7 févr. 2012 à 11:54
Bonjour, je viens d'utiliser cette macro qui fonctionne très bien seulement je souhaiterais en plus copier des données contenu dans chaque fichier afin de les coller dans un ficher commun.
Je m'explique j'ai plusieurs fichiers dans un dossier ils on tous la même structure (tableau) je souhaiterais grâce à cet macro récupérer les données des tableau contenu dans chaque fichier dans un seul. Etant très très grand débutant en macro quelqu'un pourrait-il venir a mon secours....
heljy
Messages postés5Date d'inscriptionmardi 7 juillet 2009StatutMembreDernière intervention15 juin 2011 2 nov. 2011 à 20:50
Bonjour unforgiven3303,
"Il s'agit d'un code sans prétention mais qui peut rendre de grands services"
Un grand Merci pour ce code qui est peut-être "sans prétention" mais étant donnée la difficulté que j'ai à trouver des infos pratiques sur VBA et surtout sur la gestion de fichiers sous windows, je suis heureux qu'il y ait des gens comme toi qui partage son savoir.
Encore merci à toi et à toute l'équipe qui anime ce site.
max88400
Messages postés6Date d'inscriptionmercredi 25 août 2010StatutMembreDernière intervention 6 mai 2011 6 mai 2011 à 20:11
Salut Unforgiven3303,
as-tu jeté un coup d’œil sur mon projet?
Merci d'avance
max88400
Messages postés6Date d'inscriptionmercredi 25 août 2010StatutMembreDernière intervention 6 mai 2011 3 mai 2011 à 14:24
Merci Salut Unforgiven3303,
ça fonctionne mais je n'arrive pas à faire ce que je veux.
Ligne 49 ce n'est pas si l’extension est XLS ou XLSX mais si le fichier s'appelle "base de materiel 2011.xlsm"
Ensuite mon problème se pose sur le mode recusrif, je ne suis pas sure que cela soit la bonne solution, car pour chaque fichier trouver l'action n'est pas identique. En effet, je veux que pour le 1er il exécute la macro , pour le seconde la macro 2 ainsi de suite jusqu'à la macro 7.
Merci d'avance
cs_Unforgiven3303
Messages postés3Date d'inscriptionmercredi 4 février 2009StatutMembreDernière intervention 3 mai 2011 3 mai 2011 à 09:08
Bonjour Max88400,
Pour l'erreur de compilation, dans l'éditeur Visual Basic d'Excel faire "Outils", "Références" puis cocher dans la liste la bibliothèque "Microsoft Scripting Runtime". (voir post plus haut)
Pour ton projet, je jetterai un oeil si j'ai du temps dans la journée.
max88400
Messages postés6Date d'inscriptionmercredi 25 août 2010StatutMembreDernière intervention 6 mai 2011 2 mai 2011 à 21:02
Salut Unforgiven3303,
j'ai essayer ta macro car c'est à peu pré ce que je veux faire mais lors de la compilation j'ai une erreur qui apparait sur la ligne 37. je site "type défini par l'utilisateur none défini"
Pourrais tu m'aider à résoudre cette erreur et peut-être par la suite m'aider à faire les modif pour que ça colle à mon projet?
cs_Fifin
Messages postés2Date d'inscriptionlundi 8 mars 2010StatutMembreDernière intervention24 mars 2010 24 mars 2010 à 12:45
Bonjour Unforgiven3303,
Merci pour ton aide! Ça m'a fait réaliser que ces fichiers (même si ce sont des .xls) ont été générés par un autre programme et qu'ils contenaient des séparateurs ; compatibles au format .txt
Du coup, Excel ne peut les sauvegarder tels quels et me demande si je veux garder le même format ou pas quand je les modifie. Bref j'ai changé la ligne 57 en :
Et ô miracle, tout fonctionne! Bon, c'était logique en même temps mais erreur de débutante ;)
Merci beaucoup!
A plus!
cs_Unforgiven3303
Messages postés3Date d'inscriptionmercredi 4 février 2009StatutMembreDernière intervention 3 mai 2011 24 mars 2010 à 10:37
Bonjour FIFIN,
Pour ton problème, je ne vois qu'une histoire de droit sur les dossiers contenant les classeurs Excel.
Essaye d'ouvrir "manuellement" un des classeurs qui posent problème et tente d'enregistrer pour voir s'il te demande de l'enregistrer ailleurs ou non.
cs_Fifin
Messages postés2Date d'inscriptionlundi 8 mars 2010StatutMembreDernière intervention24 mars 2010 23 mars 2010 à 18:08
Bonjour!
Je débute complètement sur VB et je rencontre un problème avec ce code. Après avoir enregistré la macro Choisir_fichiers et renseigné la partie où il faut appeler sa macro (Call spearman dans mon cas), je lance le test.
Et problème avec la ligne 57 :
J'ai comme message d'erreur
Erreur d'exécution '1004'
La méthode 'Save' de l'objet '_Workbook' a échoué
Les fichiers excel que je veux traiter ne sont pas en lecture seule et je ne sais vraiment pas d'où vient l'erreur...
matttop
Messages postés6Date d'inscriptionmercredi 17 février 2010StatutMembreDernière intervention24 mars 2010 19 févr. 2010 à 01:02
OK Merci je vais essayer
cs_Unforgiven3303
Messages postés3Date d'inscriptionmercredi 4 février 2009StatutMembreDernière intervention 3 mai 2011 18 févr. 2010 à 10:24
Bonjour MATTTOP,
Pour l'erreur de compilation, dans l'éditeur Visual Basic d'Excel faire "Outils", "Références" puis cocher dans la liste la bibliothèque "Microsoft Scripting Runtime".
Pour le nom de la macro, il est possible de changer sans conséquences le nom de la procédure "Choisir_Fichiers()", par contre pour "Ouvrir_fichier()", il faut modifier le nom dans l'appel de la procédure dans "Choisir_fichiers()" (ligne 25) et dans la procédure "Ouvrir_fichier()" (ligne 78) afin que la procédure s'appelle bien elle-même.
Bonne continuation et bon test
matttop
Messages postés6Date d'inscriptionmercredi 17 février 2010StatutMembreDernière intervention24 mars 2010 18 févr. 2010 à 00:09
La macro je l'appelle bien de mon classeur de macros excel?
Merci
matttop
Messages postés6Date d'inscriptionmercredi 17 février 2010StatutMembreDernière intervention24 mars 2010 18 févr. 2010 à 00:06
Bonjour je n'arrive pas à faire fonctionner cette source. La ligne 37 échoue à la compilation. J'ai un message d'erreur: Erreur de compilation type défini par l'utilisateur non défini.
J'ai une deuxième question ma macro s'appelle macro1. Pour l'appeler je fais run "macro1"?
Je vais essayer de mieux comprendre ce que je fais en attendant
Merci
karimagra
Messages postés2Date d'inscriptionvendredi 2 octobre 2009StatutMembreDernière intervention28 décembre 2009 28 déc. 2009 à 15:42
salut svp je veux avoir un programme de stockage des produits informatiques et une facture prete qui contien les produits stockes svp aidez moi
neo2k2
Messages postés126Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention 9 novembre 20093 17 déc. 2009 à 09:02
Hello,
Sympa ta petite macro mais...
If Nomdossiers Is Nothing Then
' Rien
Else
serait plus simple de faire:
If NOT Nomdossiers Is Nothing Then
' Développement normal
et cfinalement, c'et du VBS, pas du VBA même si on ne voit pas trop de différences...
7 févr. 2012 à 11:54
Je m'explique j'ai plusieurs fichiers dans un dossier ils on tous la même structure (tableau) je souhaiterais grâce à cet macro récupérer les données des tableau contenu dans chaque fichier dans un seul. Etant très très grand débutant en macro quelqu'un pourrait-il venir a mon secours....
2 nov. 2011 à 20:50
"Il s'agit d'un code sans prétention mais qui peut rendre de grands services"
Un grand Merci pour ce code qui est peut-être "sans prétention" mais étant donnée la difficulté que j'ai à trouver des infos pratiques sur VBA et surtout sur la gestion de fichiers sous windows, je suis heureux qu'il y ait des gens comme toi qui partage son savoir.
Encore merci à toi et à toute l'équipe qui anime ce site.
6 mai 2011 à 20:11
as-tu jeté un coup d’œil sur mon projet?
Merci d'avance
3 mai 2011 à 14:24
ça fonctionne mais je n'arrive pas à faire ce que je veux.
Ligne 49 ce n'est pas si l’extension est XLS ou XLSX mais si le fichier s'appelle "base de materiel 2011.xlsm"
Ensuite mon problème se pose sur le mode recusrif, je ne suis pas sure que cela soit la bonne solution, car pour chaque fichier trouver l'action n'est pas identique. En effet, je veux que pour le 1er il exécute la macro , pour le seconde la macro 2 ainsi de suite jusqu'à la macro 7.
Merci d'avance
3 mai 2011 à 09:08
Pour l'erreur de compilation, dans l'éditeur Visual Basic d'Excel faire "Outils", "Références" puis cocher dans la liste la bibliothèque "Microsoft Scripting Runtime". (voir post plus haut)
Pour ton projet, je jetterai un oeil si j'ai du temps dans la journée.
2 mai 2011 à 21:02
j'ai essayer ta macro car c'est à peu pré ce que je veux faire mais lors de la compilation j'ai une erreur qui apparait sur la ligne 37. je site "type défini par l'utilisateur none défini"
Pourrais tu m'aider à résoudre cette erreur et peut-être par la suite m'aider à faire les modif pour que ça colle à mon projet?
Pour info j'ai posé ma question ici en espérant que ça soit au bon endroit...
http://www.vbfrance.com/forum/sujet-MACRO-EXCEL-TROUVER-CLASSEUR-DANS-SOUS-DOSSIER_1517267.aspx
Merci d'avance
24 mars 2010 à 12:45
Merci pour ton aide! Ça m'a fait réaliser que ces fichiers (même si ce sont des .xls) ont été générés par un autre programme et qu'ils contenaient des séparateurs ; compatibles au format .txt
Du coup, Excel ne peut les sauvegarder tels quels et me demande si je veux garder le même format ou pas quand je les modifie. Bref j'ai changé la ligne 57 en :
ChDir "D:\Delphine\machin"
ActiveWorkbook.SaveAs Filename:="D:\Delphine\machin\' & Fichier & '.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
(le dossier 'machin' est mon dossier test)
Et ô miracle, tout fonctionne! Bon, c'était logique en même temps mais erreur de débutante ;)
Merci beaucoup!
A plus!
24 mars 2010 à 10:37
Pour ton problème, je ne vois qu'une histoire de droit sur les dossiers contenant les classeurs Excel.
Essaye d'ouvrir "manuellement" un des classeurs qui posent problème et tente d'enregistrer pour voir s'il te demande de l'enregistrer ailleurs ou non.
23 mars 2010 à 18:08
Je débute complètement sur VB et je rencontre un problème avec ce code. Après avoir enregistré la macro Choisir_fichiers et renseigné la partie où il faut appeler sa macro (Call spearman dans mon cas), je lance le test.
Et problème avec la ligne 57 :
J'ai comme message d'erreur
Erreur d'exécution '1004'
La méthode 'Save' de l'objet '_Workbook' a échoué
Les fichiers excel que je veux traiter ne sont pas en lecture seule et je ne sais vraiment pas d'où vient l'erreur...
19 févr. 2010 à 01:02
18 févr. 2010 à 10:24
Pour l'erreur de compilation, dans l'éditeur Visual Basic d'Excel faire "Outils", "Références" puis cocher dans la liste la bibliothèque "Microsoft Scripting Runtime".
Pour le nom de la macro, il est possible de changer sans conséquences le nom de la procédure "Choisir_Fichiers()", par contre pour "Ouvrir_fichier()", il faut modifier le nom dans l'appel de la procédure dans "Choisir_fichiers()" (ligne 25) et dans la procédure "Ouvrir_fichier()" (ligne 78) afin que la procédure s'appelle bien elle-même.
Bonne continuation et bon test
18 févr. 2010 à 00:09
Merci
18 févr. 2010 à 00:06
J'ai une deuxième question ma macro s'appelle macro1. Pour l'appeler je fais run "macro1"?
Je vais essayer de mieux comprendre ce que je fais en attendant
Merci
28 déc. 2009 à 15:42
17 déc. 2009 à 09:02
Sympa ta petite macro mais...
If Nomdossiers Is Nothing Then
' Rien
Else
serait plus simple de faire:
If NOT Nomdossiers Is Nothing Then
' Développement normal
et cfinalement, c'et du VBS, pas du VBA même si on ne voit pas trop de différences...