Bonjour à tous, j'ai créé récemment en python un outil d’exécution automatique de DML (SQL) basés sur une structure de dossier pré-déterminée.
La tâche qui m'incombe actuellement consiste à ajouter à notre fichier Excel de suivi des DML, chaque row du fichier contient un descriptif, un lien vers le dossier DML associé, ainsi que des colonnes représentant dans quel environnement le groupe de DML a été exécuté.
DML-No Description Dev Test ..
DML-001 Blablabla date date ..
DML-002 Blablabla date date ..
J'ai actuellement créé une colonne "Execute" à la suite de chaque environnement, et ma première idée consistait à avoir un bouton par env/row, sachant que actuellement, j'ai prévu 200 rows, et qu'il y a 5 environnement, je me retrouverais avec 1000 boutons sur ma feuille excel, ce qui je pense serait une catastrophe en terme de performances.
Voici le bout de code actuel: (Sachant que la même macro serait appelée par tous les boutons)
Ma question est la suivante, comment éviter l'utilisation de tous ces boutons, tout en permettant à l'utilisateur d'avoir une vision simple de ce qu'il exécute et d'éviter toute opération complexe à réaliser, je préfèrerais rester sur du "one click".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Sub Execute_Click() ' Get the row, col of the button RowNo = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row ColNo = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Column Num = Right(ActiveSheet.Cells(RowNo, 2), 3) Env = Left(ActiveSheet.Cells(1, ColNo - 1), 1) Select Case MsgBox("Do you want to execute DML-" & Num & " in environment " & Env, vbYesNo, "Are you really sure?") Case vbYes ' Execute program ID = Shell("python path\monCode.py -e " & Env & " -n " & Num) End Select End Sub
Avez-vous une idée?
D'avance merci
Partager