VBA: Appeler une fonction

Angus

XLDnaute Junior
Bonjour à vous,

Je suis débutant, je ne comprend pas comment untiliser une fonction dont j'ai trouvé le code.
Celle ci sert à modifier le style d'une messagebox:

Usenet Posting #15 - Trigeminal Software, Inc. (French)

J'ai dejà reussi à appeler des fonction pi, ou arctangente de la feuille de calcul, mais dans ce cas je ne comprend pas.

J'aimerais bien un exemple concret pour ce cas ci.

Merci d'avance.
 

tototiti2008

XLDnaute Barbatruc
Re : VBA: Appeler une fonction

Bonjour Angus, Bonjour Hasco :)

Sujet: INFO: Le format du Message MsgBox en Access 2000
(Parution initiale, le 9/30/99)
Sous Access 97, la fonction MsgBox possède une syntaxe documentée permettant d'utiliser des formats à même le message de par l'utilisation du caractère arobas, @, ou qui fera appel au compagnon d'Office si celui-ci est activable. Par exemple, directement du fichier d'aide d'Access 97: MsgBox "Wrong button!@This button doesn't work.@Try another.", _

vbOKOnly + vbExclamation

Sous Access 2000 (qui intègre VBE, le Visual Basic Editor), le dialogue du MsgBox de VBA ne fait pas appel à celui d'Access pour effectuer son travail et vous perdez tant le format que la possibilité d'utiliser automatiquement le compagnon d'Office pour présenter vos messages. Mais il y a une façon de rétablir la situation!
Simplement en utilisant la fonction Eval, votre appel sera acheminé de par le service d'évaluation (Expression Service), qui permet d'interfacer Access avec Jet, et la version VBA d'Access du MsgBox sera utilisée, récupérant ainsi les fonctionnalités d'Access 97:
Function FormattedMsgBox( _
Prompt As String, _
Optional Buttons As VbMsgBoxStyle = vbOKOnly, _
Optional Title As String = vbNullString, _
Optional HelpFile As Variant, _
Optional Context As Variant) _
As VbMsgBoxResult
If IsMissing(HelpFile) Or IsMissing(Context) Then
FormattedMsgBox = Eval("MsgBox(""" & Prompt & _
""", " & Buttons & ", """ & Title & """)")
Else
FormattedMsgBox = Eval("MsgBox(""" & Prompt & _
""", " & Buttons & ", """ & Title & """, """ & _
HelpFile & """, " & Context & ")")
End If
End Function

Voici la différence, je vous laisse seul juge:
MsgBox "Wrong button!@This button doesn't work.@Try Another.",
vbOKOnly + vbExclamation, "My Application"
FormattedMsgBox "Wrong button!@This button doesn't work.@Try Another.",
vbOKOnly + vbExclamation, "My Application"

Le message concerne Access et n'est pas applicable dans Excel
 

tototiti2008

XLDnaute Barbatruc
Re : VBA: Appeler une fonction

Re,

Cette fonction Access utilise une fonction "Eval" qui n'est pas disponible sur Excel, donc pas sur Excel de cette manière
Il me semble que l'ami mDf avait fait quelque chose sur les Msgbox personnalisée mais je n'arrive plus à mettre la main dessus
Sinon, il y a toujours la possibilité de créer un Userform....
 

Angus

XLDnaute Junior
Re : VBA: Appeler une fonction

tototiti,

Mettez de la couleur dans votre code avec les balises
[High_light=VBA] Code [/High_light][/COLOR_]

Comment çà marche concretement?
-J'insere mon code entre "[Highlight=VBA_]" et "[/Highlight_][/COLOR_]"
-je remplace COLOR par un chiffre

??? Cela m'interresse beaucoup.
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Macro VBA
Réponses
16
Affichages
3 K

Statistiques des forums

Discussions
311 720
Messages
2 081 926
Membres
101 841
dernier inscrit
ferid87