Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Attributs de texte dans MsgBox

9 réponses
Avatar
chris.col
Bonjour,

Est-il possible de faire renvoyer par un même
MsgBox un message composé de texte et de
variables avec des attributs de texte différents ?
(Gras, italique, police, couleur, taille)

Merci.

9 réponses

Avatar
Michel Gaboly
Bonjour,

Je ne pense pas, mais on peut obtenir cela avec
un UserForm.



Bonjour,

Est-il possible de faire renvoyer par un même
MsgBox un message composé de texte et de
variables avec des attributs de texte différents ?
(Gras, italique, police, couleur, taille)

Merci.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Denis Michon
Bonjour Michel,

As-tu un truc pour réaliser cela avec un formulaire ? Je ne connais pas de contrôle de base qui accepte qu'une partie du
texte soit d'un format différent de l'ensemble du Texbox ... Étiquette. ... à moins de juxtaposer différent contrôle pour
leur faire afficher une partie du message .... Une vraie bidouille celle-là ! ;-)


Salutations!



"Michel Gaboly" a écrit dans le message de news:
Bonjour,

Je ne pense pas, mais on peut obtenir cela avec
un UserForm.



Bonjour,

Est-il possible de faire renvoyer par un même
MsgBox un message composé de texte et de
variables avec des attributs de texte différents ?
(Gras, italique, police, couleur, taille)

Merci.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Michel Gaboly
Bonjour Denis,

C'est à cette bidouille que je pensais ;-))

Ponctuellement, le réaliser à la main en juxtaposant plusieurs Label
dont on adapte la taille n'est pas très difficile.

Cela se corse, si on veut le programmer.



Bonjour Michel,

As-tu un truc pour réaliser cela avec un formulaire ? Je ne connais pas de contrôle de base qui accepte qu'une partie du
texte soit d'un format différent de l'ensemble du Texbox ... Étiquette. ... à moins de juxtaposer différent contrôle pour
leur faire afficher une partie du message .... Une vraie bidouille celle-là ! ;-)

Salutations!

"Michel Gaboly" a écrit dans le message de news:
Bonjour,

Je ne pense pas, mais on peut obtenir cela avec
un UserForm.


Bonjour,

Est-il possible de faire renvoyer par un même
MsgBox un message composé de texte et de
variables avec des attributs de texte différents ?
(Gras, italique, police, couleur, taille)

Merci.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


Avatar
Michel Gaboly
Re Denis,

J'ai planché un peu sur le code. Voici un exemple :

Il faut créer un Userform avec un Label. Peu importe la taille de celui-ci et son emplacement.
Par contre, il est impératif de mettre sa propriété Visible à False (fenêtre Propriétés ou Initialize).

Ensuite, Sélectionne le Label et Copie-le. Fais ensuite plusieurs Coller successifs pour créer d'autres
Labels. Ils seront tous superposés, à part le premier, mais cela n'a aucune importance. La création
d'une douzaine de Labels par cette méthode est très rapide.

Pour mon exemple, il faut au moins 3 Labels en tout.

Entre ensuite ce code dans un module standard et exécute-le.


Option Explicit
Public NumLabel As Integer, Gauche As Integer, Haut As Integer
Private TailleRef As Integer

Private Sub MAJLabel(S As String, Gras As Boolean, Ital As Boolean, Police As String, Couleur As String, Taille As Integer)
NumLabel = NumLabel + 1
With UserForm1.Controls("Label" & NumLabel)
.Caption = S
With .Font
.Name = Police
.Bold = Gras
.Italic = Ital
.Size = Taille
End With
.ForeColor = Couleur
.Visible = True
.Left = Gauche
.Top = Haut + (TailleRef - Taille) / 2
.AutoSize = True
Gauche = Gauche + .Width + Taille / 4
End With
End Sub

Private Sub Test()
Dim Var1 As String, Var2 As String
NumLabel = 0
Gauche = 6
Haut = 8
Var1 = "Voici"
Var2 = "3"
TailleRef = 12
MAJLabel Var1, False, True, "Verdana", RGB(255, 0, 0), 12 ' Rouge
MAJLabel Var2, True, False, "Arial", RGB(0, 0, 0), 24 ' Noir
MAJLabel "labels.", True, False, "Verdana", RGB(0, 0, 255), 14 ' Bleu
UserForm1.Show
End Sub


On peut bien sûr aller beaucoup + loin : il faut prévoir au moins 1 CommandButton, adapter sa position, en
fonction du texte affiché, prévoir un retour à la ligne avec les variables Gauche et Haut si nécessaire, adapter
enfin la taille du UserForm.

Dis-moi ce que tu en penses.



Bonjour Denis,

C'est à cette bidouille que je pensais ;-))

Ponctuellement, le réaliser à la main en juxtaposant plusieurs Label
dont on adapte la taille n'est pas très difficile.

Cela se corse, si on veut le programmer.


Bonjour Michel,

As-tu un truc pour réaliser cela avec un formulaire ? Je ne connais pas de contrôle de base qui accepte qu'une partie du
texte soit d'un format différent de l'ensemble du Texbox ... Étiquette. ... à moins de juxtaposer différent contrôle pour
leur faire afficher une partie du message .... Une vraie bidouille celle-là ! ;-)

Salutations!

"Michel Gaboly" a écrit dans le message de news:
Bonjour,

Je ne pense pas, mais on peut obtenir cela avec
un UserForm.


Bonjour,

Est-il possible de faire renvoyer par un même
MsgBox un message composé de texte et de
variables avec des attributs de texte différents ?
(Gras, italique, police, couleur, taille)

Merci.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com



Avatar
Denis Michon
Bonsoir Michel,

Ton code est bien et fonctionne bien pour une application qui demande un type de message "standard" mais disons que cela peut
se compliquer drôlement pour en faire une présentation qui s'adapte à tous les messages.

;-)

chris.col aura au moins une alternative et un début de solution.


Salutations!


"Michel Gaboly" a écrit dans le message de news:
Re Denis,

J'ai planché un peu sur le code. Voici un exemple :

Il faut créer un Userform avec un Label. Peu importe la taille de celui-ci et son emplacement.
Par contre, il est impératif de mettre sa propriété Visible à False (fenêtre Propriétés ou Initialize).

Ensuite, Sélectionne le Label et Copie-le. Fais ensuite plusieurs Coller successifs pour créer d'autres
Labels. Ils seront tous superposés, à part le premier, mais cela n'a aucune importance. La création
d'une douzaine de Labels par cette méthode est très rapide.

Pour mon exemple, il faut au moins 3 Labels en tout.

Entre ensuite ce code dans un module standard et exécute-le.


Option Explicit
Public NumLabel As Integer, Gauche As Integer, Haut As Integer
Private TailleRef As Integer

Private Sub MAJLabel(S As String, Gras As Boolean, Ital As Boolean, Police As String, Couleur As String, Taille As Integer)
NumLabel = NumLabel + 1
With UserForm1.Controls("Label" & NumLabel)
.Caption = S
With .Font
.Name = Police
.Bold = Gras
.Italic = Ital
.Size = Taille
End With
.ForeColor = Couleur
.Visible = True
.Left = Gauche
.Top = Haut + (TailleRef - Taille) / 2
.AutoSize = True
Gauche = Gauche + .Width + Taille / 4
End With
End Sub

Private Sub Test()
Dim Var1 As String, Var2 As String
NumLabel = 0
Gauche = 6
Haut = 8
Var1 = "Voici"
Var2 = "3"
TailleRef = 12
MAJLabel Var1, False, True, "Verdana", RGB(255, 0, 0), 12 ' Rouge
MAJLabel Var2, True, False, "Arial", RGB(0, 0, 0), 24 ' Noir
MAJLabel "labels.", True, False, "Verdana", RGB(0, 0, 255), 14 ' Bleu
UserForm1.Show
End Sub


On peut bien sûr aller beaucoup + loin : il faut prévoir au moins 1 CommandButton, adapter sa position, en
fonction du texte affiché, prévoir un retour à la ligne avec les variables Gauche et Haut si nécessaire, adapter
enfin la taille du UserForm.

Dis-moi ce que tu en penses.



Bonjour Denis,

C'est à cette bidouille que je pensais ;-))

Ponctuellement, le réaliser à la main en juxtaposant plusieurs Label
dont on adapte la taille n'est pas très difficile.

Cela se corse, si on veut le programmer.


Bonjour Michel,

As-tu un truc pour réaliser cela avec un formulaire ? Je ne connais pas de contrôle de base qui accepte qu'une partie du
texte soit d'un format différent de l'ensemble du Texbox ... Étiquette. ... à moins de juxtaposer différent contrôle pour
leur faire afficher une partie du message .... Une vraie bidouille celle-là ! ;-)

Salutations!

"Michel Gaboly" a écrit dans le message de news:
Bonjour,

Je ne pense pas, mais on peut obtenir cela avec
un UserForm.


Bonjour,

Est-il possible de faire renvoyer par un même
MsgBox un message composé de texte et de
variables avec des attributs de texte différents ?
(Gras, italique, police, couleur, taille)

Merci.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com



Avatar
chris.col
Merci les gars.


"Denis Michon" <denis a écrit dans le message de news:
ZrQyb.791$
Bonsoir Michel,

Ton code est bien et fonctionne bien pour une application qui demande un
type de message "standard" mais disons que cela peut

se compliquer drôlement pour en faire une présentation qui s'adapte à tous
les messages.


;-)

chris.col aura au moins une alternative et un début de solution.


Salutations!


"Michel Gaboly" a écrit dans le message de
news:

Re Denis,

J'ai planché un peu sur le code. Voici un exemple :

Il faut créer un Userform avec un Label. Peu importe la taille de celui-ci
et son emplacement.

Par contre, il est impératif de mettre sa propriété Visible à False
(fenêtre Propriétés ou Initialize).


Ensuite, Sélectionne le Label et Copie-le. Fais ensuite plusieurs Coller
successifs pour créer d'autres

Labels. Ils seront tous superposés, à part le premier, mais cela n'a
aucune importance. La création

d'une douzaine de Labels par cette méthode est très rapide.

Pour mon exemple, il faut au moins 3 Labels en tout.

Entre ensuite ce code dans un module standard et exécute-le.


Option Explicit
Public NumLabel As Integer, Gauche As Integer, Haut As Integer
Private TailleRef As Integer

Private Sub MAJLabel(S As String, Gras As Boolean, Ital As Boolean, Police
As String, Couleur As String, Taille As Integer)

NumLabel = NumLabel + 1
With UserForm1.Controls("Label" & NumLabel)
.Caption = S
With .Font
.Name = Police
.Bold = Gras
.Italic = Ital
.Size = Taille
End With
.ForeColor = Couleur
.Visible = True
.Left = Gauche
.Top = Haut + (TailleRef - Taille) / 2
.AutoSize = True
Gauche = Gauche + .Width + Taille / 4
End With
End Sub

Private Sub Test()
Dim Var1 As String, Var2 As String
NumLabel = 0
Gauche = 6
Haut = 8
Var1 = "Voici"
Var2 = "3"
TailleRef = 12
MAJLabel Var1, False, True, "Verdana", RGB(255, 0, 0), 12 '
Rouge

MAJLabel Var2, True, False, "Arial", RGB(0, 0, 0), 24 ' Noir
MAJLabel "labels.", True, False, "Verdana", RGB(0, 0, 255), 14 ' Bleu
UserForm1.Show
End Sub


On peut bien sûr aller beaucoup + loin : il faut prévoir au moins 1
CommandButton, adapter sa position, en

fonction du texte affiché, prévoir un retour à la ligne avec les variables
Gauche et Haut si nécessaire, adapter

enfin la taille du UserForm.

Dis-moi ce que tu en penses.



Bonjour Denis,

C'est à cette bidouille que je pensais ;-))

Ponctuellement, le réaliser à la main en juxtaposant plusieurs Label
dont on adapte la taille n'est pas très difficile.

Cela se corse, si on veut le programmer.


Bonjour Michel,

As-tu un truc pour réaliser cela avec un formulaire ? Je ne connais
pas de contrôle de base qui accepte qu'une partie du



texte soit d'un format différent de l'ensemble du Texbox ...
Étiquette. ... à moins de juxtaposer différent contrôle pour



leur faire afficher une partie du message .... Une vraie bidouille
celle-là ! ;-)




Salutations!

"Michel Gaboly" a écrit dans le message de
news:



Bonjour,

Je ne pense pas, mais on peut obtenir cela avec
un UserForm.


Bonjour,

Est-il possible de faire renvoyer par un même
MsgBox un message composé de texte et de
variables avec des attributs de texte différents ?
(Gras, italique, police, couleur, taille)

Merci.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com








Avatar
Michel Gaboly
Bonjour,

C'est clair qu'il peut y avoir beaucoup de choses à gérer en plus ;-))


Bonsoir Michel,

Ton code est bien et fonctionne bien pour une application qui demande un type de message "standard" mais disons que cela peut
se compliquer drôlement pour en faire une présentation qui s'adapte à tous les messages.

;-)

chris.col aura au moins une alternative et un début de solution.

Salutations!

"Michel Gaboly" a écrit dans le message de news:
Re Denis,

J'ai planché un peu sur le code. Voici un exemple :

Il faut créer un Userform avec un Label. Peu importe la taille de celui-ci et son emplacement.
Par contre, il est impératif de mettre sa propriété Visible à False (fenêtre Propriétés ou Initialize).

Ensuite, Sélectionne le Label et Copie-le. Fais ensuite plusieurs Coller successifs pour créer d'autres
Labels. Ils seront tous superposés, à part le premier, mais cela n'a aucune importance. La création
d'une douzaine de Labels par cette méthode est très rapide.

Pour mon exemple, il faut au moins 3 Labels en tout.

Entre ensuite ce code dans un module standard et exécute-le.

Option Explicit
Public NumLabel As Integer, Gauche As Integer, Haut As Integer
Private TailleRef As Integer

Private Sub MAJLabel(S As String, Gras As Boolean, Ital As Boolean, Police As String, Couleur As String, Taille As Integer)
NumLabel = NumLabel + 1
With UserForm1.Controls("Label" & NumLabel)
.Caption = S
With .Font
.Name = Police
.Bold = Gras
.Italic = Ital
.Size = Taille
End With
.ForeColor = Couleur
.Visible = True
.Left = Gauche
.Top = Haut + (TailleRef - Taille) / 2
.AutoSize = True
Gauche = Gauche + .Width + Taille / 4
End With
End Sub

Private Sub Test()
Dim Var1 As String, Var2 As String
NumLabel = 0
Gauche = 6
Haut = 8
Var1 = "Voici"
Var2 = "3"
TailleRef = 12
MAJLabel Var1, False, True, "Verdana", RGB(255, 0, 0), 12 ' Rouge
MAJLabel Var2, True, False, "Arial", RGB(0, 0, 0), 24 ' Noir
MAJLabel "labels.", True, False, "Verdana", RGB(0, 0, 255), 14 ' Bleu
UserForm1.Show
End Sub

On peut bien sûr aller beaucoup + loin : il faut prévoir au moins 1 CommandButton, adapter sa position, en
fonction du texte affiché, prévoir un retour à la ligne avec les variables Gauche et Haut si nécessaire, adapter
enfin la taille du UserForm.

Dis-moi ce que tu en penses.


Bonjour Denis,

C'est à cette bidouille que je pensais ;-))

Ponctuellement, le réaliser à la main en juxtaposant plusieurs Label
dont on adapte la taille n'est pas très difficile.

Cela se corse, si on veut le programmer.


Bonjour Michel,

As-tu un truc pour réaliser cela avec un formulaire ? Je ne connais pas de contrôle de base qui accepte qu'une partie du
texte soit d'un format différent de l'ensemble du Texbox ... Étiquette. ... à moins de juxtaposer différent contrôle pour
leur faire afficher une partie du message .... Une vraie bidouille celle-là ! ;-)

Salutations!

"Michel Gaboly" a écrit dans le message de news:
Bonjour,

Je ne pense pas, mais on peut obtenir cela avec
un UserForm.


Bonjour,

Est-il possible de faire renvoyer par un même
MsgBox un message composé de texte et de
variables avec des attributs de texte différents ?
(Gras, italique, police, couleur, taille)

Merci.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com




Avatar
Michel Gaboly
De rien ;-))


Merci les gars.

"Denis Michon" <denis a écrit dans le message de news:
ZrQyb.791$
Bonsoir Michel,

Ton code est bien et fonctionne bien pour une application qui demande un
type de message "standard" mais disons que cela peut

se compliquer drôlement pour en faire une présentation qui s'adapte à tous
les messages.


;-)

chris.col aura au moins une alternative et un début de solution.


Salutations!


"Michel Gaboly" a écrit dans le message de
news:

Re Denis,

J'ai planché un peu sur le code. Voici un exemple :

Il faut créer un Userform avec un Label. Peu importe la taille de celui-ci
et son emplacement.

Par contre, il est impératif de mettre sa propriété Visible à False
(fenêtre Propriétés ou Initialize).


Ensuite, Sélectionne le Label et Copie-le. Fais ensuite plusieurs Coller
successifs pour créer d'autres

Labels. Ils seront tous superposés, à part le premier, mais cela n'a
aucune importance. La création

d'une douzaine de Labels par cette méthode est très rapide.

Pour mon exemple, il faut au moins 3 Labels en tout.

Entre ensuite ce code dans un module standard et exécute-le.


Option Explicit
Public NumLabel As Integer, Gauche As Integer, Haut As Integer
Private TailleRef As Integer

Private Sub MAJLabel(S As String, Gras As Boolean, Ital As Boolean, Police
As String, Couleur As String, Taille As Integer)

NumLabel = NumLabel + 1
With UserForm1.Controls("Label" & NumLabel)
.Caption = S
With .Font
.Name = Police
.Bold = Gras
.Italic = Ital
.Size = Taille
End With
.ForeColor = Couleur
.Visible = True
.Left = Gauche
.Top = Haut + (TailleRef - Taille) / 2
.AutoSize = True
Gauche = Gauche + .Width + Taille / 4
End With
End Sub

Private Sub Test()
Dim Var1 As String, Var2 As String
NumLabel = 0
Gauche = 6
Haut = 8
Var1 = "Voici"
Var2 = "3"
TailleRef = 12
MAJLabel Var1, False, True, "Verdana", RGB(255, 0, 0), 12 '
Rouge

MAJLabel Var2, True, False, "Arial", RGB(0, 0, 0), 24 ' Noir
MAJLabel "labels.", True, False, "Verdana", RGB(0, 0, 255), 14 ' Bleu
UserForm1.Show
End Sub


On peut bien sûr aller beaucoup + loin : il faut prévoir au moins 1
CommandButton, adapter sa position, en

fonction du texte affiché, prévoir un retour à la ligne avec les variables
Gauche et Haut si nécessaire, adapter

enfin la taille du UserForm.

Dis-moi ce que tu en penses.



Bonjour Denis,

C'est à cette bidouille que je pensais ;-))

Ponctuellement, le réaliser à la main en juxtaposant plusieurs Label
dont on adapte la taille n'est pas très difficile.

Cela se corse, si on veut le programmer.


Bonjour Michel,

As-tu un truc pour réaliser cela avec un formulaire ? Je ne connais
pas de contrôle de base qui accepte qu'une partie du



texte soit d'un format différent de l'ensemble du Texbox ...
Étiquette. ... à moins de juxtaposer différent contrôle pour



leur faire afficher une partie du message .... Une vraie bidouille
celle-là ! ;-)




Salutations!

"Michel Gaboly" a écrit dans le message de
news:



Bonjour,

Je ne pense pas, mais on peut obtenir cela avec
un UserForm.


Bonjour,

Est-il possible de faire renvoyer par un même
MsgBox un message composé de texte et de
variables avec des attributs de texte différents ?
(Gras, italique, police, couleur, taille)

Merci.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


--
Cordialement,

Michel Gaboly
http://www.gaboly.com






--
Cordialement,

Michel Gaboly
http://www.gaboly.com





Avatar
Michel Pierron
Bonjour chris.col;
Si tu possèdes le contrôle Microsoft Rich TextBox dans ta liste de contrôles,
utilise le, il est tout à fait adapté pour cela.
MP

"chris.col" a écrit dans le message de
news:3fcb3e04$0$2775$
Bonjour,

Est-il possible de faire renvoyer par un même
MsgBox un message composé de texte et de
variables avec des attributs de texte différents ?
(Gras, italique, police, couleur, taille)

Merci.