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 ?
 

_Thierry

XLDnaute Barbatruc
Repose en paix

Pièces jointes

  • USF_ADO_Calculs_Collector_V02_00.xlsm
    85.1 KB · Affichages: 10

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

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonjour @Benes @job75, le Forum

Test sur ton classeur source avec le ADO USF :
1590748996288.png


1590749095099.png


Et ceci sans rien modifier ... (Mis à part les entêtes de colonnes Noires/Jaunes)
@+Thierry
 

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
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
Ok Merci
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 867
dernier inscrit
XFPRO