Bonjour,
J'ai une question sur le code VBA que je suis en train d'écrire.
j'ai met ce message ici car c'est pour moi plus un problème de structuration de mon code plutôt qu'autre chose.
Je suis actuellement en train d'écrire une procédure de ce genre :
Comme vous pouvez le constater, cette function (appelée par un bouton sur un formulaire) me permet d'extraire les données d'une requête dans un fichier Excel. Ensuite, je lance un traitement_Excel dont je vous passe les détails,car là n'est pas ma question
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Function Stock() 'copie du fichier squelette FILE_MODELE = REP_MODELE & "squelette_stock.xls" FILE_LOCAL = REP_OUT & "Stock Support_" & RecupMois(Now) & DatePart("yyyy", Now) & ".xls" supp_fich (FILE_LOCAL) Call FileCopy(FILE_MODELE, FILE_LOCAL) 'transfert dans le fichier Excel dans l'onglet Data DoCmd.TransferSpreadsheet acExport, 8, "STOCK", FILE_LOCAL, True, "DATA" Call traitement_Excel End Function
J'ai besoin d'utiliser ce style de fonction pas que pour el Stock, aussi pour mesurer par exemple l'activité, et sur d'autres services.
Du coup, je vais devoir répéter (en gros) cette fonction 10 fois suivant la requête pour mon fichier Excel.
Voici ma question (accrochez vous) : il vaut mieux que j'écrive 10 fois ma même fonction en utilisant "Function Stock" ou "Function Act" (par exemple, ou il vaut mieux que je créé un Sub de ce genre :
(je viens de faire ces lignes à l'arrache, donc regardez pas les fautes, c'est surtout pour vous donner une idée de ce que je pense faire).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 'copie du fichier squelette Sub Creation(FileEntree As string,FileSortie as string,NomRequete as string) FileEntree = REP_MODELE & "squelette_stock.xls" FileSortie = REP_OUT & "Stock Support_" & RecupMois(Now) & DatePart("yyyy", Now) & ".xls" supp_fich (FileSortie) Call FileCopy(FileEntree, FileSortie) 'transfert dans le fichier Excel dans l'onglet Data DoCmd.TransferSpreadsheet acExport, 8, NomRequete as string, FileSortie, True, "DATA" Call traitement_Excel End Sub
Ensuite, j'appelle cette procédure genre :
En faisant comme ça, j'ai l'impression d'optimiser mon code, mais est-ce que le traitement y sera gagnant aussi en faisant cela ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Call Creation("FILE_MODELE","FILE_LOCAL","STOCK")
En vous remerciant par avance pour vos réponses.
Partager