Microsoft 365 MAcro VBA - Recherche dans un groupe de fichier

  • Initiateur de la discussion Initiateur de la discussion jey31
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jey31

XLDnaute Nouveau
Bonjour à tous
Je suis en cours de développement d'une macro afin de faire un fichier de collecte

je m'explique, j'ai des données des puissances de 66 Turbines qui sont stockées individuellement dans une fichier .xls soit 66 fichiers.. La je dois donc collecter les données des la dernières lignes de chaque fichiers sur une range définies par exemple ("AI:AO").

Le problème c'est que j'arrive pas a aller chercher chacune de ses lignes sans avoir à rentrer manuellement

auriez vous une idées ? .. je sèche
 
Si vous regardez la colonne J du LOG qui est l'index d'écriture, il va de 1 à 30 puis de 1 à 30 .....
Donc on écrit et ré écrit que les 30 premières lignes. 😡

Il va falloir que je trouve pourquoi.😱 BUG chez moi. Je regarde.
 
LigneW est le N° de la ligne où je vais écrire dans la feuille Datas.
En clair j'écris de la ligne 1 à 30 puis je reviens à 1.

Je pense savoir de où ça vient. Dans le calcul de la ligne qui est :

Ligne=(3*NoTurbine+1)+(CVTx-1)

Je pense savoir: si je ne traite que le dernier caractère de No Turbine alors je fais 0 9, 0, 9 ....
Je vais revoir ma formule.
 
1- Déjà ça veux dire que ça marche ????

2- J'avais émis l'hypothèse que le N° turbine pouvais être MO01 ou MO1 pour les 9 premières.
J'isolais les 2 derniers caractères et si ce n'était pas numérique je ne prenais que le dernier. Et ça c'était buggé. Je prenais toujours que le dernier d'où les 30 lignes : turbines de 1 à 9 en permanence.

3- Dans le module LireCellules je trouve la dernière ligne avec : DerLig = .Range("K65500").End(xlUp).Row
Si c'est la première, il suffit de faire : DerLig=3 ( en conservant la variable DerLig ça évite de tout changer ) Pour moi la première ligne de données est en ligne 3.

4- Si tout baigne, je vous referais une version "propre" sans la feuille LOG sauf si vous voulez la conserver.
 
1- Déjà ça veux dire que ça marche ????

2- J'avais émis l'hypothèse que le N° turbine pouvais être MO01 ou MO1 pour les 9 premières.
J'isolais les 2 derniers caractères et si ce n'était pas numérique je ne prenais que le dernier. Et ça c'était buggé. Je prenais toujours que le dernier d'où les 30 lignes : turbines de 1 à 9 en permanence.

3- Dans le module LireCellules je trouve la dernière ligne avec : DerLig = .Range("K65500").End(xlUp).Row
Si c'est la première, il suffit de faire : DerLig=3 ( en conservant la variable DerLig ça évite de tout changer ) Pour moi la première ligne de données est en ligne 3.

4- Si tout baigne, je vous referais une version "propre" sans la feuille LOG sauf si vous voulez la conserver.
Oui ca fonctionne pour l'instant 🙂

J'ai juste a éclairer avec mes collègues certains points sur les dates des collectes mais ca je pourrai le gérer et au pire je reviendrai vers vous 🙂

Mais oui ca fonctionne 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour