ClassTools_Parameters_3.0 Classe VBA pour gérer les paramètres d'une application

oguruma

XLDnaute Occasionnel
Dans la même veine que la v2.0.1 reprise des classes concernant le passage soit par une collection soit par un dictionnaire.
A la livraison de la 2.0 j'avais évoqué une Implémentation (interface) pour plus de souplesse.
C'est désormais chose faite.

Cette version intègre aussi une gestion des messages personnalisée. En effet dans une application on est en général amener à coder quelque chose
Msgbox "Fichier inconnu" ... ou autre chose du genre. Parfois ce sont les mêmes messages qui reviennent avec quelques variantes.

Donc, ça faisait un moment que j'avais cela "sous le coude", une classe permettant d'afficher des messages dynamiquement selon le contexte avec remplacement de balises positionnées dans un tableau de message comme celui-ci
1690731862984.png


<LIB1> et les autres seront substitués à l'appel de la méthode GetMessage.
Soit on récupère le n° de message comme ceci oMsg.GetMessage("MSG001") soit comme ceci oMsg.GetMessage("MSG003", Array("D:\DONNEES", "VENTES.XLS"))
On passe en second paramètre le tableau de substitution des champs <LIBn>.

Exemple

Sub TestMsg()
Dim oMsg As Cls_MessagesDialog

On Error GoTo HANDLE_ERROR

Set oMsg = New Cls_MessagesDialog

Call oMsg.Intanciate

'**************************************************************************************
'** ou on peut passer ses propres valeurs
'**************************************************************************************
' Call oMsg.Intanciate("fMessages", "TB_MES")

'**************************************************************************************
'** Appel sans remplacement de libellés dans le message
'**************************************************************************************

MsgBox "MSG001 : " & oMsg.GetMessage("MSG001")

'**************************************************************************************
'** Appel avec remplacements de libellés dans le message
'**************************************************************************************
' LIB1 = 1er élément du tableau
' LIB2 = 2ème élément
' LIB3 = 3ème élément
' LIBn = nème élément
'**************************************************************************************
MsgBox "MSG002 : " & oMsg.GetMessage("MSG002", Array("D:\DONNEES"))
MsgBox "MSG003 : " & oMsg.GetMessage("MSG003", Array("D:\DONNEES", "VENTES.XLS"))
MsgBox "MSG004 : " & oMsg.GetMessage("MSG004", Array("D:\DONNEES", "VENTES.XLS", "Veuillez vérifier"))

FIN:
Exit Sub

HANDLE_ERROR:
MsgBox "Erreur de traitement" & vbLf & _
"Err # " & Err.Number & vbLf & _
Err.Description, vbCritical, "MESSAGES"
Resume FIN
End Sub
 

Pièces jointes

  • ClassTools_Parameters_V3.0.xlsm
    70 KB · Affichages: 7

Statistiques des forums

Discussions
315 091
Messages
2 116 110
Membres
112 662
dernier inscrit
lou75