Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Remplir une cellule d'un fichier excel fermé

Benes

XLDnaute Nouveau
Bonjour a tous

J'ai bien avancé sur mon petit projet de mon petit niveau mais là...
j'ai besoin de remplir le nom , prénom et numéro de candidat d'une cinquantaine d’élève dans le nom d'un fichier excel fraîchement créé automatiquement.
Pour cette parti c'est fait, ouf j'ai réussi. Par contre dans ma boucle je dois aussi rajouter un petit bout de code pour aller mettre dans des cellule approprier de chaque fichier excel créé, le nom, prénom et num candidat. Je me suis dis que si je devais ouvrir le fichier a chaque fois pour y copier lces données, je serai faire mais le PC va mouliner pendant des heures et du coup ultra bof. Je me suis donc penché sur "comment remplir un fichier excel sans l'ouvrir" et j'ai trouvé des choses, mais dur dur.
J'ai tenter des ADODB.Connection j'ai dans les ref coché des MicrosoftActiveX... j'ai essayer des méthodes plus simple ou plus compliquer sur différent site (qui souvent date d'ailleurs) bref je crois tout simplement que ce n'est pas de mon niveau.
Je joins 2 malheureux fichiers, 1 la source et l'autre la destination. Si un connaisseur pouvait me donner un coup de main, cela m'aiderai grandement. L’idée serai de cliquer sur le bouton du fichier "source" et que ça remplisse les 3 cellules du fichier "destination". Pour la suite, je devrai réussir a adapter le bout de code a ma boucle.

Merci a vous
 

Pièces jointes

  • source.xlsm
    18.3 KB · Affichages: 13
  • destination.xlsx
    8.3 KB · Affichages: 6

Benes

XLDnaute Nouveau
Pourquoi des heures? Euh effectivement je sais pas mais je me suis dis que c’était peut être un peu lourd et pas très traditionnel de pratiquer comme cela. Ne pas ouvrir me paressait plus propre. J'avais imaginé qu'il faudrait bien 3 sec pour ouvrir puis fermer le fichier, du coup si je traite 100 fichiers cela ferait 5 mn d'attente mais effectivement je me trompe peut être.
Le nom du fichier serai tantôt
BAC-PRO-MELEC-Grilles-Eval-CCF-NOM_Prénom-juin-2020
tantôt
BEP-MELEC-Grilles-Eval-CCF-NOM-Prénom-juin-2020
++
 

job75

XLDnaute Barbatruc
Chez moi ouvrir et fermer 100 fichiers légers comme destination.xlsx prend 16 secondes, ce n'est pas la mer à boire.

Pour créer la boucle dans quelles cellules sont listés les noms, prénoms et numéros nécessaires ?
 

Benes

XLDnaute Nouveau
Effectivement pour ma part avant de coder (vu mon niveau) j'ai tester en ouvrant le fichier excel traditionnellement (sans code) et là ça a mis bien 6 secondes. Vu ce que tu me dis avec des ligne de code se sera plus rapide. Oui c'est vrai 16 secondes c'est plus qu'acceptable.
Pour la boucle si tu veux voir je te mets le petit code que j'ai réalisé. (les .rar ne passe pas j'ai modifié en . zip peut être faudra t il remettre en .rar). Désolé
 

Pièces jointes

  • PourForum.zip
    63.6 KB · Affichages: 7

Benes

XLDnaute Nouveau
Oulah!! C'est quoi ce ADO USF? C'est un soft? Je comprends pas très bien la démarche. J'ais une centaine de fichier a traiter par classe et je n'ai pas le droit modifier le fichier a part pour nom , etc. Ou alors j'ai pas compris le principe.
 

Benes

XLDnaute Nouveau
Je ne suis pas sur de comprendre. Ceci permet de récupérer des infos du fichier fermé. Moi c'est l'inverse je dois écrire dans le fichier fermé. Apres je me suis dis que je pourrai me servir de ce code pour faire l'inverse mais il y en a de partout et je retombe sur tous les code que j'ai pu trouver où je n’arrive pas a faire tourner pour copier simplement une cellule sur une cellule d'un fichier fermé. Bref j'ai pas avancé. Peut être que Job75 a raison et je devrai plutôt me pencher sur l'ouverture le remplissage puis la fermeture du fichier...
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re ,

Cet ADO USF est just une démo assez aboutie de la puissance d'ADO, c'est son rôle de traiter une centaine de classeurs source sur une feuille précise et une range (éventuellement non-contigûe) et de collecter les infos sur les onglets de cet ADO USF.

Il ne fait que du "Select" sur les classeurs sources, donc pas de modif à craindre.

Bonne découverte
@+Thierry
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Moi c'est l'inverse je dois écrire dans le fichier fermé. Apres je me suis dis que je pourrai me servir de ce code pour faire l'inverse

Oui on peut aussi avec ADO, mais c'est à ce moment là de l'Update (ou de l'Insert) et plus du Select, et il est clair que c'est d'un niveau un peu avancé pour ne pas faire de castatrophe !

Pour en rester à niveau plus simple et accessible tu as pas mal de démos (de ma part aussi et assez récentes), pour updater des fichiers avec un Loop sur WorkBooks.Open, je regarde si je peux adapter ton fichier...

@+Thierry
 

Benes

XLDnaute Nouveau
Ok Merci
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…