1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| Sub verif()
'*** Déclaration des variables
Dim Version As Double, VersionLs As Double, Dossier As String, Fichier As String
Dim Mauvaise As String, PasTrouve As String, Trouve As Boolean, y As Integer
Dim Wbk As Workbook
'***
Version = 1 '<-- A changer a chaque modification meme mineur du programme
'With ThisWorkbook '<-- Récupération du chemin et du nom du programme
'Dossier = .Path
'Fichier = .Name
'End With
Dossier = "J:\P09-Gestion des systemes d'information\BAO" '<-- Dossier fixé a la racine de la BAO
Fichier = "XXX" '<-- Nom du programme initial
Application.StatusBar = "Vérification de la version en cours"
Mauvaise = "Votre version n'est plus d'actualité ! Veuillez recopier la dernière version du programme qui se trouve dans le répertoire suivant : " & Dossier
PasTrouve = "Programme non réferencé ! Veuillez en informer le service informatique."
Trouve = False
y = 3
'Masquer l'ouverture du classeur "Liste PG Info"
Application.ScreenUpdating = False
'Ouverture du classeur "Liste PG Info" et affectation de ce classeur à la variable Wbk
Set Wbk = Workbooks.Open("J:\P09-Gestion des systemes d'information\BAO\Liste PG Info.xls")
With Wbk.Sheets(1) 'Dans le Liste PG Info,
Do While .Cells(y, 1) <> "" 'on balaye la liste tant que la cellule n'est pas vide.
If .Cells(y, 1).Value = Fichier Then 'Si la valeur de la cellule correspond au nom du programme alors,
VersionLs = .Cells(y, 2) 'on récupére le numéro de la version,
Trouve = True 'on indique que l'on a trouvé le programme dans la liste,
Wbk.Close False 'on ferme le Liste PG Info,
Exit Do 'et on sort de la boucle, ca sert a rien de continuer.
End If
y = y + 1
Loop
If Trouve = True And Version < VersionLs Then 'Si on a trouvé le programme dans la liste et que la version du programme est inférieure à la version actuelle alors,
MsgBox Mauvaise, vbCritical 'on affiche le message pour la mauvaise version,
Application.Quit 'et on ferme le programme.
End If
If Trouve = False Then MsgBox PasTrouve, vbExclamation 'Si on n'a pas trouvé le programme dans la liste alors on affiche le message PasTrouve
End With
Set Wbk = Nothing '<-- libération de la mémoire
Application.StatusBar = False
Application.ScreenUpdating = True '<-- réactivation de l'écran
End Sub |
Partager