Gestion automatisée des contrôles périodiques

Publié le

Dans cet article je vais vous expliquer en détails comment j’ai réalisé la Gestion Automatisée des Contrôles Périodiques (GACP ^^)

Réalisation des tableaux

Dans un premier temps, il nous faut un tableau un principal qui regroupe toutes les données, c’est-à-dire les contrôles à effectuer et la semaine associée et la « data » qui recueillera toutes les informations nécessaires, elle permettra aussi d’extraire plus facilement les informations pour une éventuelle supervision.

>>Tableau<<

Codage

Après avoir réalisé le tableau et avoir remplis les actions à réaliser, il faut définir la logique de notre programme. Pour celui-ci on veut que dès l’ouverture le programme s’exécute et nous informe du nombre d’actions planifiées, soldées etc. Auparavant il nécessaire de définir ce que nous allons mettre dans les colonnes correspondants au numéro de semaines. Pour ce programme j’ai choisi :

P pour action planifiée (gris)

V pour action soldée (vert)

R pour action en retard (rouge)

S pour action réalisée en retard (jaune)

Remarque: Pour les couleurs pensez à utiliser la mise en forme conditionnelle.

Rentrons maintenant dans le vif du sujet, le codage.

J’ai décidé de réaliser l’action grâce à un bouton.

Sub Bouton1_Cliquer()
Dim var1 As Integer

‘Ici nous avons la variable qui va déterminer le numéro de semaine. La variable est définie en integer, car c’est un entier
Dim action As Integer

‘Action sera la variable qui contiendra le nombre d’actions planifiés dans les semaines concernées
 Range(« H9:BG43 »).Select

 ‘On sélectionne tout le tableau

Selection.Interior.Color = RGB(255, 255, 255)

‘On le remplie de blanc afin d’effacer la colonne rouge

var1 = Range(« J51 »).Value

‘La variable concernant la semaine prend la valeur de la semaine actuelle

If var1 = 1 Then Range(« H9:H43 »).Select
If var1 = 2 Then Range(« I9:I43 »).Select
If var1 = 3 Then Range(« J9:J43 »).Select
If var1 = 4 Then Range(« k9:k43 »).Select
If var1 = 5 Then Range(« l9:l43 »).Select
If var1 = 6 Then Range(« m9:m43 »).Select
If var1 = 7 Then Range(« n9:n43 »).Select
If var1 = 8 Then Range(« o9:o43 »).Select
If var1 = 9 Then Range(« p9:p43 »).Select
If var1 = 10 Then Range(« q9:q43 »).Select
If var1 = 11 Then Range(« r9:r43 »).Select
If var1 = 12 Then Range(« s9:s43 »).Select
If var1 = 13 Then Range(« t9:t43 »).Select
If var1 = 14 Then Range(« u9:u43 »).Select
If var1 = 15 Then Range(« v9:v43 »).Select
If var1 = 16 Then Range(« w9:w43 »).Select
If var1 = 17 Then Range(« x9:x43 »).Select
If var1 = 18 Then Range(« y9:y43 »).Select
If var1 = 19 Then Range(« z9:z43 »).Select
If var1 = 20 Then Range(« aa9:aa43 »).Select
If var1 = 21 Then Range(« ab9:ab43 »).Select
If var1 = 22 Then Range(« ac9:ac43 »).Select
If var1 = 23 Then Range(« ad9:ad43 »).Select
If var1 = 24 Then Range(« ae9:ae43 »).Select
If var1 = 25 Then Range(« af9:af43 »).Select
If var1 = 26 Then Range(« ag9:ag43 »).Select
If var1 = 27 Then Range(« ah9:ah43 »).Select
If var1 = 28 Then Range(« ai9:ai43 »).Select
If var1 = 29 Then Range(« aj9:aj43 »).Select
If var1 = 30 Then Range(« ak9:ak43 »).Select
If var1 = 31 Then Range(« al9:al43 »).Select
If var1 = 32 Then Range(« am9:am43 »).Select
If var1 = 33 Then Range(« an9:an43 »).Select
If var1 = 34 Then Range(« ao9:ao43 »).Select
If var1 = 35 Then Range(« ap9:ap43 »).Select
If var1 = 36 Then Range(« aq9:ag43 »).Select
If var1 = 37 Then Range(« ar9:ar43 »).Select
If var1 = 38 Then Range(« as9:as43 »).Select
If var1 = 39 Then Range(« at9:at43 »).Select
If var1 = 40 Then Range(« au9:au43 »).Select
If var1 = 41 Then Range(« av9:av43 »).Select
If var1 = 42 Then Range(« aw9:aw43 »).Select
If var1 = 43 Then Range(« ax9:ax43 »).Select
If var1 = 44 Then Range(« ay9:ay43 »).Select
If var1 = 45 Then Range(« az9:az43 »).Select
If var1 = 46 Then Range(« BA9:BA43 »).Select
If var1 = 47 Then Range(« BB9:BB43 »).Select
If var1 = 48 Then Range(« BC9:BC43 »).Select
If var1 = 49 Then Range(« BD9:FBD43 »).Select
If var1 = 50 Then Range(« BE9:BE43 »).Select
If var1 = 51 Then Range(« BF9:BF43 »).Select
If var1 = 52 Then Range(« BG9:BG43 »).Select
‘Ici pour chaque valeur de var1 on y associe une colonne du tableau, on remarque que la fonction If simplifiée peut s’écrire sur une seule ligne
Selection.Interior.Color = RGB(255, 100, 150)

‘On colorie en rouge la semaine actuelle
action = WorksheetFunction.CountIf(Selection, « P »)

‘On compte le nombre d’actions planifiées dans la sélection
Range(« G60 »).Value = action
‘On note la valeur dans notre tableau de la data
var1 = var1 + 1

‘Finalement, on décale d’une semaine et on recommence.

End Sub

Dans la finalité, cela donne ce rendu :

 

>>Programme Finis !!<<

N’hésitez pas à me contacter par mail ou via les commentaires si vous avez un quelconque souci.

Merci de m’avoir lu !

Laisser un commentaire