Alléger macros VBA

Fermé
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 - Modifié le 2 mars 2021 à 15:54
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 - 12 mars 2021 à 17:49
Bonjour,

Je débute quelque peu dans le monde de la macro et du language VBA et j'apprends petit à petit en regardant quelque tutos de code VBA, je réalise également des macros d'enregistrement pour analyser le code et m'approprier le code de certaines actions.
Elles ont le mérite d'être simple à comprendre à mon niveau mais subissent forcément une certaine lourdeur dans leur exécution (surtout avec les PC du boulot pas très performant)

Je ne sais pas si quelqu'un aurait des pistes pour alléger le code que j'ai réalisé.

J'explique brièvement le principe de mon fichier :

1 / J'extrais mensuellement 3 bases de données distinctes d'un logiciel externe dans un fichier Excel.

Chaque base de données correspond à un regroupement de poste de travail, elle contient des dates et des horaires d'actions réalisées sur ces différents postes

Crémone : 6 postes (Crémone 1, Crémone 2,etc...)
Pose vitrage : 6 postes (Vitrage 1, Vitrage 2, etc...)
Engondage : 2 postes (Engondage A, Engondage B)


2/ Je copie chaque base de données dans une feuille "Export" de mon fichier qui centralisent mes données en traitant tour à tour chaque base de données avec une macro différente.

3/ La macro filtre tour à tour sur chaque poste et copie les données dans une autre feuille.

4/ Cette feuille contient une association de formules qui permet d'extraire quelle ligne correspond à certains critères horaires (la première et la dernière données de 3 tranches horaires différentes : Matin, Après-midi, Nuit)

5/ Ces infos sont recopiées dans une tableau temporaire respectivement sur chaque poste et chaque tranche horaires. Une fois chaque macro réalisée je recopie les données du tableau temporaire dans une base de donnée finale.

Cette base de données me permet de réaliser un tableau croisé dynamique ainsi que des graphiques croisés dynamique qui me permet de faire une synthèse sur chaque groupe de poste.

Ce qui vient aussi alourdir l’exécution de la macro c'est que chaque base de données brute contient 10 000 lignes et 2 colonnes, donc forcément filtrer autant de données à suivre avec copie et suppression de l'export précédent entre chaque ça je demande peut être un miracle...

Après il se peut que je raisonne de la mauvaise façon et que ce n'est pas vraiment la macro qui pose problème mais plutôt ce que je lui fait faire et que je devrais peut être tenter de travailler avec bases de données plus petites car en moyennes sur 10 000 lignes je ne retraite les infos que de 700 lignes. J'avais penser travailler avec des filtres avancés mais je ne maîtrise pas bien surtout avec la complexité de mes critères et/ou arriver à traiter mes données avec tous les postes dans la même base de données sans avoir à filtrer sur chaque poste mais là j'ai peine à voir comment.

Voici le fameux fichier en question : https://www.cjoint.com/c/KCcn3mXO2TR

Je m'excuse pour ceux à qui j'aurais donner mal à la tête. En tout cas merci à ceux qui auront le courage d'essayer de rentrer dans ma tête.

Configuration: Windows / Chrome 88.0.4324.190

17 réponses

Le Pingou Messages postés 12029 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 février 2024 1 424
2 mars 2021 à 17:18
Bonjour,
Eh bien pour faire court, il est ou votre problème?
S'agit-il uniquement des codes sur ce classeur ou ceux utilisé pour importer les données?


0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
2 mars 2021 à 17:22
Mon problème c'est la durée d’exécution de la macro.
C'est juste que je ne sais pas dire si on travaille uniquement sur le code si cela solutionnera mon problème ou pas mais c'est peut être par là qu'il faut commencer dans un premier temps.
0
Le Pingou Messages postés 12029 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 février 2024 1 424 > Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024
2 mars 2021 à 18:21
Bonjour,
Je constate que f894008 est dans le bon sens. Je n'aurai pas mieux à vous proposer.
Bonne suite.

Salutations.
Le Pingou
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
2 mars 2021 à 18:02
Bonjour,

Une facon de faire. Modif pour Cremone.
Votre fichier: 9 a 10s
Ce code: 3 a 4s

Sub Crémone_SWF()
    
    TPoste_Crem = Array("", "LM1", "LM2", "LM3", "LM4", "LM5", "LM6")
    TCel_Crem = Array(0, 8, 11, 14, 17, 20, 23)
    If MsgBox("Voulez-vous extraire les données de la Pose Crémone ?", vbYesNo, "Demande de confirmation") = vbYes Then
        On Error GoTo Fin
        
        Application.ScreenUpdating = False
        temps = Timer
        Sheets("Export").Activate
        Derlig = Range("A" & Rows.Count).End(xlUp).Row
        Plage = Range("A1:B" & Derlig).Address
        For n = 1 To 6
            Range("A1").Select
            Selection.AutoFilter
            Range(Plage).AutoFilter Field:=2, Criteria1:="Etancheite-Crem-" & TPoste_Crem(n)
            Range("A1:A" & Derlig).SpecialCells(xlVisible).Copy Sheets("Extraction BDD").Cells(1, 1)
            With Sheets("Extraction BDD")
                .Range("O" & TCel_Crem(n)).Resize(3, 2) = .Range("N2:O4").Value
                .Columns("A:A").ClearContents
            End With
        Next n
        MsgBox "temps exec: " & Format(Timer - temps, "0.000000")
Fin:
        On Error GoTo 0
        Application.ScreenUpdating = True
        Sheets("Extraction BDD").Activate
        'MsgBox "Les données ont bien été extraites"
    End If
End Sub
0
Le Pingou Messages postés 12029 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 février 2024 1 424
2 mars 2021 à 18:24
Bonjour,
Super proposition.
Je quitte le poste
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701 > Le Pingou Messages postés 12029 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 février 2024
2 mars 2021 à 18:33
Bonjour Le Pingou

Ca roule?
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
2 mars 2021 à 18:37
Adirien

Fichier modifie pour tout: https://mon-partage.fr/f/7KEiMrqB/
A vous de verifier pour vitrage, engondage et copie BDD
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
2 mars 2021 à 21:10
J'ai essayé déjà d'insérer la modif de code que vous m'avez suggérer et effectivement y'a un gain de temps considérable.
Je devrais arrivé à le dupliquer sur le reste. Merci infiniment !!

En revanche je n'ai pas sûr d'avoir compris pour le fichier que vous avez partager c'est la même chose que le code au dessus où il y'a d'autres modifications ?
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2 > Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024
2 mars 2021 à 21:15
A oui je viens de lire le code vous l'avez fait sur toutes les macros c'est encore mieux !
C'est que vous n'avez pas pu tester avec les autres base de données si j'ai bien compris car je ne vous ai pas laissé d'exemple.
Je vais testé ça je vous fais un retour demain
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2 > Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024
2 mars 2021 à 21:26
Finalement je n'ai pas pu attendre, donc tout fonctionne parfaitement.
Le petit détails pour atteindre la perfection c'est sur la copie de BDD dans ma macro je faisait une copier/coller de valeurs sinon la colonne du mois ne se recopiais pas bien.

Sur le tableau temporaire je renseigne le mois uniquement dans la première ligne et j'avais fais un =$M$8 (cellule mois de la première ligne) sur toutes les lignes du dessous pour répéter le mois en question sauf que dans la copie dans la base de donnée le mois n’apparaît pas comme dans le tableau temporaire j'obtiens "janv-00" au lieu du "jan-21".
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701 > Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024
Modifié le 3 mars 2021 à 07:36
Bonjour Adirien,

Pouvez expliquer un peut mieux votre soucis: j'obtiens "janv-00" au lieu du "jan-21"
.
Question: avez vous besoin de toutes les lignes d'un poste pour faire vos calculs.

L'enchainement des trois procedures pour vos calculs et archives pourrait se faire en auto sur un simple click

Le fichier d'ou vous copiez les données est-il accessible sans problème car la récupération des données pourrait être faisable pas code sans faire de copie dans export
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2 > f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024
3 mars 2021 à 14:05
1/ mon problème c'est que quand la macro lance la copie de mon tableau temporaire à partir de la 2e ligne le mois n'est pas correctement recopié si c'est marqué mars-21 après recopie dans la base final il recopie janv-00 à la place.

2/Je ne suis pas sur d'avoir bien compris la question mais je n'ai pas besoin de toutes les lignes du poste pour le calcul. Il me faut celle qui sont entre 5h-6h /12h-13h/ 13-14h/20h-21h/21h-22h/4h-5h. Car je fais mon calcul uniquement à partir de la première ou dernière ligne de ces tranches horaires (exemple la première de 5h-6h et la derniere de 12h-13h etc..)

3/Le fichier d'où je copie les données est un fichier temporaire avec un noms un peu aléatoire commencant par "tp" par exemple tp58A.xls. D'ailleurs je génére indépendamment ces 3 fichiers temporaires car le logiciel externe est encore plus sensible au grande quantité de données donc j'évite de lui demander des extractions de plus de 10 000 lignes.
0
dachiasse Messages postés 1709 Date d'inscription samedi 12 septembre 2020 Statut Membre Dernière intervention 13 mai 2021 148
3 mars 2021 à 00:21
Salut,

"Je copie chaque base de données dans une feuille "Export" "

Je répondrais : https://img.devrant.com/devrant/rant/r_3211243_SBGSp.jpg

J'ai cru comprendre que tu avais solutionné le problème. À vrai dire, tu n'as fait que le repousser. Multiplie par 100 000 la quantité de données de ta DB, Excel et toi allez pleurer je pense :)

https://sqlpro.developpez.com/ sur ce site, le gars est excellent en DB. Il y a plein de bons conseils.
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
3 mars 2021 à 07:30
Bonjour dachiasse,

Certes, certes Excel n'est pas le top pour une "base de données" de 120000 lignes, mais c'est le plus facile pour le commun d'entre nous.
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2 > f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024
Modifié le 3 mars 2021 à 09:01
Chaque base de données est juste temporaire et dépasse rarement les 10 000 lignes, j'en extrait qu'une infime quantité d'informations puisque ma base finale contient 900 lignes après 2 ans de récolte de données... Donc Excel ira très bien jusqu'à ma retraite.
J'ai un travail de terrain je n'ai que rarement plus d'1h à consacrer à un ordinateur dans ma journée. Il ne m'est donc d'aucune utilité d'avoir des compétences plus avancé si je n'ai pas le temps de les mettre en pratique. Déjà que je fais mes macros sur mon temps libre c'est déjà pas mal..
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701 > Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024
3 mars 2021 à 11:40
Re,

Déjà que je fais mes macros sur mon temps libre c'est déjà pas mal..
Nous ne vous vilipendons pas, bien au contraire.
C'est pour cela que dans le post <12> j'écris qu'il est beaucoup plus facile d'utiliser Excel qu'Access
Maintenant, pour vous rendre la vie plus "facile", pouvez repondre aux questions que je vous pose post<13>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
4 mars 2021 à 07:20
Bonjour,

prendre le temps de les enregistrer dans un dossier prévu pour ça.
Oui, avec le nom des postes: Cremone etc

aller le chercher dans une arborescence.
Le code ira chercher les fichiers dans le repertoire. Si le nom des fichiers est le nom des postes pas besoin de selection, le code le fera automatiquement s'ils sont presents

Je n'ai pas bien conscience des limites du VBA
Les limites d'un langage de programmation sont liées a l'imagination du programmeur pas au langage
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
4 mars 2021 à 07:31
Si ça peut rendre les choses encore plus simple je peux accepter la contrainte d'enregistrer les fichiers dans un dossier spécifique avec le nom du poste
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701 > Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024
4 mars 2021 à 10:53
Re,

Plus simple encore.
Enregistrez les sans changer de nom, s'ils ne le sont pas deja.
Pour le repertoire d'origine, apres extraction avec votre logiciel, doit bien etre kake part?
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2 > f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024
4 mars 2021 à 20:05
Oui je vais m'intéresser à l'endroit où ils sont stockés. Mais je ne sais pas comment vous aller arrivé à traiter ces fichiers sans savoir quel noms ils auront à l'avance sans avoir à le saisir dans une boîte de dialogue comme vous l'avez suggérer au début.
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701 > Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024
5 mars 2021 à 07:00
Bonjour,

Ok, faut trouver, car comment faites vous pour copier les données?

Les noms n'ont aucun intérêt en temps que tel (Kaamelot: Perceval) , je fais une liste pour avoir un nom par fichier, c'est tout . Par contre ils faut seulement les fichiers des derniers extraction pas d'autres.
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701 > f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024
5 mars 2021 à 11:39
Bonjour,

Quel Office avez vous: 2007 ou 2013 et plus
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
Modifié le 7 mars 2021 à 14:30
J'ai testé mais je n'ai pas mon PC du boulot donc les arborescences sont faussées, j'ai essayé d'adapter le code à une autre arborescence, mais il y'a des erreurs donc je préfère être en conditions réelles avant de faire un retour avant de vous faire changer des choses qui fonctionnent peut être très bien.
Sauf si cela vous intéresse quand même :

0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
Modifié le 7 mars 2021 à 15:14
Re,

Pour tester chez vous, changer creez une ligne dans

Sub ListerLesSsRepEtLeursFichiers()         '(Chemin) 'chemin peut être passé en paramètres
    Dim fso, ListR, sRep, ListF, Rep, LesReps, fich, LesFichs
    
    Chemin_Base = "chemin fichier xls avant dernier repertoire"           'maison
    
    'Chemin_Base = "C:\Users\adug\AppData\Local\Temp"                      'boulot
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2 > f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024
Modifié le 7 mars 2021 à 16:14


Il semble avoir trouvé l'identité d'un des fichiers "tmp9BB5" on progresse.
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701 > Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024
Modifié le 7 mars 2021 à 16:26
Re,
petite modif (vous n'avez pas la derniere version post <36>
>
        'Nom de la feuille dans le meme classeur
        Table = Feuille & "$"



Continuez avec cette version pour debugger
Je suis sur une autre version qui devrait diminuer pas mal le temps d'execution.
C'est une methode que j'utilise souvent pour remplacer les filtres
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2 > f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024
Modifié le 7 mars 2021 à 18:05
Le champs en jaune est le même mais le message d'erreur est légèrement différent
:

Après je peux peut être vous partager les 3 fichiers si vous voulez faire l'essai chez vous et résoudre les erreurs à mesure :

https://mon-partage.fr/f/GSnGg682/
https://mon-partage.fr/f/zXnCKfiv/
https://mon-partage.fr/f/PBzhekzX/
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701 > Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024
7 mars 2021 à 20:18
Re,
Tout à fait Thierry, mais comment se fait-il que les fichiers d'origine sont des xls et les fichiers que vous utilisez sont des xlsm?
Dans le message d'erreur, vous verrez qu'il y a un point en fin du nom prévu pour la feuille.
Donc à qui la faute?
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
Modifié le 8 mars 2021 à 07:11
Bonjour,

Pour eviter les soucis d'extention fichier:
Dans cette procedure, remplacez la ligne en commentaire par la suivant
Sub Traitement_Fichier()
        'Feuille = Left(T_Fichier(n), Len(T_Fichier(n)) - 4)
        Feuille = Split(T_Fichier(n), ".")(0)


voilà désormais la nouvelle erreur :
Je vais regarder avec les fichiers que vous avez mis a dispo.
Vous de votre cote, quand erreur, click sur debugage, passez le curseur souris sur Onglet et vous verrez le contenu de cette variable

Suite:
Erreur Onglet normal
Heureusement que vous avez mis ces fichiers a dispo, sinon c'etait pas pret de marcher l'affaire.
Il 'n'y a pas que deux colonnes, donc je vais faire les modifs pour copier les colonnes D:E
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
8 mars 2021 à 11:37
J'avais occulté que je ne prenais que 2 colonnes du fichier source, ça ne risquait pas de marché forcément...
Encore toutes mes excuses.
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
Modifié le 8 mars 2021 à 15:47
Re,

Encore toutes mes excuses.
Y a pas d'lezard. Je fais les modifs en fonctions des dits fichiers.
Normalement, je pourrai vous mettre un fichier a dispo ce soir.
Je continuerai aussi sur le fichier qui pourrait faire un gain de temps substantiel.

Que pensez vous de ce genre de programmation VBA?
Avez vous appris un peu, beaucoup, passionnement ou pas du tout

Suite:

fichier modifie pour format fichiers base: https://mon-partage.fr/f/VZOOle2n/
Je ne fais pas de formatage de la colonne A en Date heure, n'a qu'un effet visuel
Temps pour traitement complet trois fichiers: 11s chez moi
Pensez a changer le chemin dossier
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
Modifié le 8 mars 2021 à 18:22
Re,

Fichier Post<46>: ne pas utiliser plante suite erreur de raz colonne

Pensez a changer le chemin dossier
Fichier corrige du post<46> temps execution 11s: https://mon-partage.fr/f/NGAEmy8x/

Fichier sans filtre feuilles poste temps execution 5.5 s: https://mon-partage.fr/f/5MX6z7tq/
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
8 mars 2021 à 22:20
Bonsoir,

Je n'ai pas eu beaucoup de temps pour regarder en détail, j'avais un nouveau message d'erreur.

Mais avant d'aller plus loin dans la résolution, en testant directement à mon boulot ça m'a permis de me rendre compte de quelque chose :
Extraire le fichier depuis le dossier temporaire n'était pas très pratique. Effectivement si j'ai fais d'autres extractions dans la journée pour d'autres besoins, les fichiers viendront s’emmêler les uns aux autres dans ce même dossier. Il faudra donc que je pense pas à purger les fichiers en trop qui en plus auront des noms sans signe distinctifs pour m'indiquer lesquels sont les bons des mauvais.
Et puis j'ai réfléchi aussi au côté multi-utilisateurs, la macro sera définitivement lié à mon ordinateur, si jamais je devais le mettre à disposition de quelque d'autre je n'aurais d'autre choix que de modifier l'arborescence dans le code.

Je m'en excuse de vous faire faire encore modifier mais finalement l'idéal me semblerait être une boite de dialogue qui demanderait le chemin du dossier où se trouve les fichiers.


Sinon pour répondre à votre question sur ce que j'en pense et ce que j'en ai appris :
J'ai été impressionné de voir l'étendue des possibilités de la programmation VBA, mon seul regret c'est surtout de ne pas forcément avoir pu comprendre toute la complexité du code, il faudra que je prenne le temps d'étudier son fonctionnement car au moins dans un premier temps comprendre comment les modules s'articules entre eux puis ensuite être en capacité de le comprendre et si besoin de modifier et faire évoluer son contenu mais là je pense que c'est un niveau bien supérieur à ce dont je suis capable.

Cela m'a donné plein d'idées à développer pour la suite et je pense que le VBA va révolutionner mon travail et j'espère à l'avenir arriver à en faire certains en pleine autonomie.
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
9 mars 2021 à 07:03
Bonjour,

Je m'en excuse de vous faire faire encore modifier
Non, y a pas d'lezard
Multiples extractions et utilisateurs fait que la boite a dialogue s'impose.
Je regarde la chose.
Quel fichier avez vous utilise, v3_5 ou sans filtre?
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
9 mars 2021 à 08:52
Sans filtre, je n'ai pas testé l'autre.
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701 > Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024
9 mars 2021 à 16:59
Re,

Je modifie celui-ci
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
Modifié le 9 mars 2021 à 18:37
Re,

Fichier sans filtre modifie pour choix repertoire: https://mon-partage.fr/f/8oyQS3Mm/

Choix repertoire, pas fichier
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
9 mars 2021 à 22:49
Parfait cela fonctionne.
J'ai enchaîné avec la copie bdd mais rien ne se passe, et aucune erreur.
C'est comme ci la macro n'étais pas affecté à au bouton.
Sinon je pensais à quelques optimisations possible :

- Si par erreur j'ai laissé des vieux fichiers dans le dossier est ce qu'une boîte de dialogue pourrait m'alerter qu'il y a plus de 3 fichiers présents dans le dossier ou quelque chose dans le même principe car je ne sais pas comment il va réagir si jamais il y'en à d'autre

- Ma formule pour fonctionner traite les données du plus ancien au plus récent mais par défaut sur mon logiciel me renvoi les données du plus récent aux plus ancien, j'inverse l'ordre de tri directement dans le logiciel avant de lancer l'export dans excel mais il m'arrive souvent d'oublier et de finir par le faire manuellement dans excel peut on ajouté un tri pour s'en assurer mais la en automatique je ne vais pas m'en rendre compte et mes données risque d'être erronées.

- L'autre partie c'est du détail esthétique je pourrais m'en charger moi même mais c'est de faire apparaître les 3 feuilles qui servent à l'extraction et de les faire disparaître en fin d'extraction afin que les personnes qui ne viennent qu'en consultation des graphiques qui en découlent ne soit pas à chercher dans toutes les feuilles où se trouve les graphiques.
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
10 mars 2021 à 07:33
Bonjour,

y a plus de 3 fichiers présents
Ok, alerte
ajouté un tri pour s'en assurer
Ok, tri desc
3 feuilles qui servent à l'extraction et de les faire disparaître en fin d'extraction
Pourquoi les faire apparaitre?

Je regarde cote code s'il y a des modifier a faire pour éviter des erreurs liées au masquage

Mon idée de depart, pour le suppression filtre, était de ne pas avoir de feuille poste en faisant les traitement directement sur les fichiers d'extraction. Pour moi, les feuilles poste devenaient inutiles
J'ai parre au plus court car le temps de traitement serait peut-être un peu plus long
Je peux regarder si cela vous irait mieux.
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
10 mars 2021 à 08:09
Je disait les faire apparaître car si à chaque fin de code on masque les feuilles, on aura besoin de les faire apparaître en début de code car j'ai essayé il ne semble pas pouvoir s'exécuter sur des feuilles masquées.
A vous de voir un code si vous voulez essayer de faire le traitement depuis la feuille d'origine, le temps de traitement est relativement rapide actuellement. Moi j'ai proposé la bidouille de les faire apparaître et disparaître pour aller au plus court avec du code que je maîtrise.

Avez vous vu ce qui fait qu'il ne se passe rien lorsqu'on lance la copie bdd ?
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701 > Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024
10 mars 2021 à 08:49
Re,

défaut sur mon logiciel me renvoi les données du plus récent aux plus ancien
Non, c'est l'inverse, sauf si vous avez fait le tri sur les fichiers extraits .

copie bdd ?
Pas encore. Si tri a faire, petit souci mais va s'arranger

Alerte +3: pas encore
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2 > f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024
10 mars 2021 à 09:10
Je confirme c'est moi qui ai réalisé le tri sur le logiciel interne du boulot directement avant de lancer l'extraction dans excel. C'est pour cela que tout est déjà dans le bon ordre dans ce que je vous ai envoyé.
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701 > Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024
10 mars 2021 à 09:36
Re,

en attendent, fichier avec alerte fichiers<>3 et copie BDD (pas le bon nom de bouton pour le code dans VBA feuille)
https://mon-partage.fr/f/nvcexCE9/

Je regarde pour le tri
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
10 mars 2021 à 10:19
Jusque là tout marche parfaitement :)
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
Modifié le 10 mars 2021 à 11:02
Re,

Ca progresse bien.

Fichier avec tri donnees Ancien vers recent: https://mon-partage.fr/f/ieT16js1/
Le tri se fait dans la recupe des donnees par poste en vue de les afficher dans Exctaction BDD.
Peu importe ce qu'il y a dans les fichiers extraits

Reste la partie masque feuille et quelques finitions

Suite:

Fichier feuilles poste masquee: https://mon-partage.fr/f/fpdklXbI/

Quelques verif des codes pour finition voir traitement erreur
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
10 mars 2021 à 18:06
J'ai testé ça fonctionne mais il s'est passé quelque chose de très étrange, j'ai fais une extraction d'un autre fichier sur un autre mois et ça m'a renvoyé un message d'erreur. Je vous envoi la capture d'écran et les fichiers utilisés ce soir ou demain matin.
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
10 mars 2021 à 22:40
Voici l'erreur et un lot de 3 fichiers en exemple concerné par cette erreur


https://mon-partage.fr/f/rOcZbOQP/
https://mon-partage.fr/f/3ENawnlb/
https://mon-partage.fr/f/FYYrSu7G/

J'ai tenté de renommer les fichiers différemment ou de les enregistrer en .xlsx ou .xls
Mais sans succès et ce même avec le fichier du post 59

Et d'ailleurs à l'ouverture il y'a une autre erreur qui apparait :
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
Modifié le 11 mars 2021 à 07:25
Bonjour,

Ok, je recupere les fichiers et regarde la chose
Erreur ouverture classeur: je regarde

Suite:

Les fichiers sont les memes avec des noms differents!
Vous choisissez bien le bon repertoire? (vu erreur bon repertoire)

Erreur ouverture: vous n'utilisez pas le dernier fichier du post <61> apres Suite:

Suite de Suite:
Lecture feuille fichiers extraction
Ben, regardez le nom de feuille et vous comprendrez.
Je regarde pour palier a la chose
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
Modifié le 11 mars 2021 à 10:39
C'est dû au fait que le nom du fichier soit différent du classeur si j'ai bien compris.
Je pense à une solution peut être bête :
A l'appui du bouton on demande de renommer la feuille à l'identique du fichier.
Non ?
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701 > Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024
Modifié le 11 mars 2021 à 16:17
Re,

Non ?

C'est ce que j'ai pensez au depart. Vu que vous renommez les fichiers, faites ceci:
ex: tmp9BB5.xlsx devient tmp9BB5-Eng sep19.xlsx
Comme ca le code pour nom de feuille change juste pour le caractere de separation, a condition de ne pas le changer suivant l'humeur du jour
Je vais regarder quand meme pour avoir le nom de feuille pour chaque fichier
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701 > f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024
Modifié le 11 mars 2021 à 18:06
Re,

J'ai ce qu'il faut pour avoir le nom d'onglet. Je modifie le code


Suite:

Fichier avec recherche nom d'onglet fichier extraction: https://mon-partage.fr/f/j1q5AJi2/
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2 > f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024
11 mars 2021 à 19:44
Hey bien écoutez, c'est parfait je ne trouve rien de plus à dire.
0
f894009 Messages postés 17179 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 février 2024 1 701
11 mars 2021 à 20:38
Re,
Content pour vous.
Comme écrit précédemment, je vais faire des vérifications de code et ajouter des traitements d'erreur liée à une anomalie de connexion, nombre de feuilles fichiers extraits et autres .....
0
Adirien Messages postés 84 Date d'inscription samedi 11 mai 2013 Statut Membre Dernière intervention 27 janvier 2024 2
12 mars 2021 à 17:49
Ça marche pas de soucis tenez moi informé via message privé si vous le souhaitez.
0