Automatisation d'une macro sur pusieurs tableurs

Re-,

Comme Dan (modérateur de ce forum), et qui de plus travaille sur MAC, a la gentillesse de bien vouloir se pencher sur ton pb, je joins les fichiers nécessaires aux essais

Mef : dans le code, j'ai pris en compte la feuille 1 et non 2 comme dans les vrais fichiers (because, sur mes exemples, les données à traiter sont sur la feuille1)

Bon courage

Le fichier source :

10demo-rmathieu.xlsm (18.49 Ko)

Et quelques exemples de fichiers à traiter, à enregistrer sur la bécane (bien mettre à jour les chemins des répertoires dans le code....)

16rmathieu.zip (52.42 Ko)

Bon appétit

Bonjour mathieu, cousinhub

Cousinhub m'a demandé de jeter un oeil sur ton souci ou en tout cas de faire passer ton fichier sous MC

Je vais tenter de regarder cela. Mais une première chose à considérer est que le C: , doit etre remplacé par "Macintosh HD:"

Par rapport aux variales REP 1 et REP 2 il faut en premier savoir où se trouve le fichier excel et les fichiers que tu veux ouvrir

Pour ce faire : essaie de récupérer l'info en faisant ceci :

  • Ouvre un nouveau fichier excel et enregistre le dans le répertoire où se trouve tes fichiers
  • En VBA crée une macro contenant ces lignes
Sub test()
ActiveSheet.Range("A1") = ThisWorkbook.Path
End Sub

- Ensuite colle l'adresse ici

Autre sujet à vérifier est cette ligne --> Set Fso = CreateObject("Scripting.FileSystemObject")

Pas sur que cela fonctionne sous MAC. A vérifier

Amicalement

Mon message de mercredi soir est pas passé ? J'imagine que j'avais dû être trop long et que ma session s'était interrompue, et j'ai pas vu le message d'erreur.

Bon, alors, en utilisant le fichier "demo rmathieu", j'ai fini par comprendre d'où venait le problème :

Je n'ai pas souvent l'occasion d'utiliser les macros, et mon usage en est donc assez élémentaire. Jusqu'ici, j'ai toujours travaillé en ouvrant le fichier Excel, puis en ouvrant VBA et en insérant le code dans la feuille de calcul concernée.

Avec le fichier "demo", qui marchait nickel, j'ai réalisé que le problème résidait justement là : le code marchait dans demo et pas dans mon fichier. Et cela tout simplement parce que le code de demo était enregistré dans un module du fichier, et non dans une des feuilles de calcul. J'ai donc inséré le code dans mes fichiers dans un module, et ça a tourné sans souci.

Et donc, pour information, il a fallu un peu moins d'une heure et demie à Excel pour traiter les 740 000 enregistrements (à travers 74 fichiers).

Encore merci pour votre aide et votre bonne volonté. Ca m'a fait gagner énormément de temps (et de tranquillité d'esprit )

(je mets le marqueur résolu sur mon message justement pour cette histoire de module, même si le code lui-même est ici)

Bonjour,

Et ravi que cela fonctionne..

Maintenant, il va falloir que je m'excuse platement d'avoir dérangé un modérateur...

Effectivement, 1h30 pour 74 fichiers, au lieu de 15h00 pour un seul, y'a pas photo.

Bonne continuation, et bon W-E

PS : tu sauras maintenant que les modules standard, ça sert à quelque chose....

Rechercher des sujets similaires à "automatisation macro pusieurs tableurs"