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

Caractère " dans un Msgbox

5 réponses
Avatar
Alf
Bonjour =C3=A0 tous
Caract=C3=A8re " (double quote)
J'essaie de le faire apparaitre en utilisant Chr(22) mais =C3=A7a ne marche=
pas.

Merci pour votre aide
Alf

5 réponses

Avatar
Péhemme
Bonjour Alf,
Essaie :
Sub Test()
Dim MonCar
Dim k
k = 34
MonCar = Chr(k)
MsgBox MonCar
End Sub
Cela doit te donner un caractère ".
Bonne journée
Michel
"Alf" a écrit dans le message de groupe de discussion :
Bonjour à tous
Caractère " (double quote)
J'essaie de le faire apparaitre en utilisant Chr(22) mais ça ne marche pas.
Merci pour votre aide
Alf
Avatar
MichD
Le 03/10/20 à 03:04, Alf a écrit :
Bonjour à tous
Caractère " (double quote)
J'essaie de le faire apparaitre en utilisant Chr(22) mais ça ne marche pas.
Merci pour votre aide
Alf

Bonjour,
Il y a aussi ceci :
MsgBox """" & "Bonjour à tous" & """"
MichD
Avatar
Michel__D
Bonjour,
Le 03/10/2020 à 09:04, Alf a écrit :
Bonjour à tous
Caractère " (double quote)
J'essaie de le faire apparaitre en utilisant Chr(22) mais ça ne marche pas.
Merci pour votre aide
Alf

22 c'est la valeur Hexadécimale (base 16) mais comme tu as écrit Chr(22) la valeur que tu dois
fournir est la valeur décimale (base 10).
Donc 22 en Hexa est égal à 34 en décimal.
Avatar
MichD
Le 03/10/20 à 06:20, MichD a écrit :
MsgBox """" & "Bonjour à tous" & """"

Tu trouves qu'il y beaucoup de "".
pourquoi utilisé ceci : MsgBox """Bonjour à tous"""
OU si tu veux simplement afficher le symbole " dans un msgbox,
il y a ceci :
MsgBox """"
Le principe est simple, il s'agit de doubler le ".
Les 2 symboles " externes dans l'expression """" sont là pour entourer
n'importe quelle chaîne de caractères (texte) que l'on veut afficher.
Comme tu veux afficher comme texte le symbole ", tu dois le dédoubler "".
Un autre exemple d'une chaîne de caractère, si l'on désire que "toto"
soit entouré de guillemets on doit les dédoubler comme précédemment
puisque l'expression "toto" fait partie d'un ensemble d'une chaîne de
caractère déjà délimité par des guillemets.
MsgBox "Le nom de l'onglet de la feuille est : ""toto"""
Le principe est très utile lorsque l'on désire d'utiliser des fonctions
de la feuille de calcul en vba, il y a de quoi s'y perdre... Un exemple
: ;-))
'---------------------------------------
Sub FormuleEnVBA()
Dim Adr As String, Adr1 As String
Dim Adr2 As String, Adr3 As String
Dim Rg As Range, A As Variant
Dim Crit As String, Crit1 As String, Crit2 As String
With Worksheets("Feuil1") 'à déterminer
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
Crit = "MonModèle"
Crit1 = "Diamètre"
Crit2 = "Espacement"
With Rg
Adr = .Parent.Name & "!" & .Address
Adr1 = .Offset(, 1).Parent.Name & "!" & .Offset(, 1).Address
Adr2 = .Offset(, 2).Parent.Name & "!" & .Offset(, 2).Address
Adr3 = .Offset(, 3).Parent.Name & "!" & .Offset(, 3).Address
End With
MaFormule = "=SumProduct((" & Adr & "=""" & Crit & """)*" & _
"(" & Adr1 & "=""" & Crit & """)*" & _
"(" & Adr2 & "=""" & Crit2 & """)*" & _
"(" & Adr3 & "))"
A = Evaluate(" & maformule & ")
MsgBox A
'si tu n'as pas besoin de modifier les variables, tu peux utiliser ceci:
A =
[SumProduct((A1:A5="Modèle")*(B1:B5=Diamètre)*(C1:C5=Espacement)*(D1:D5))]
MsgBox A
End Sub
'---------------------------------------
MichD
Avatar
Alf
Le samedi 3 octobre 2020 à 14:23:11 UTC+2, MichD a écrit :
Le 03/10/20 à 06:20, MichD a écrit :
MsgBox """" & "Bonjour à tous" & """"
Tu trouves qu'il y beaucoup de "".
pourquoi utilisé ceci : MsgBox """Bonjour à tous"""
OU si tu veux simplement afficher le symbole " dans un msgbox,
il y a ceci :
MsgBox """"
Le principe est simple, il s'agit de doubler le ".
Les 2 symboles " externes dans l'expression """" sont là pour entour er
n'importe quelle chaîne de caractères (texte) que l'on veut aff icher.
Comme tu veux afficher comme texte le symbole ", tu dois le dédouble r "".
Un autre exemple d'une chaîne de caractère, si l'on désire que "toto"
soit entouré de guillemets on doit les dédoubler comme pré cédemment
puisque l'expression "toto" fait partie d'un ensemble d'une chaîne d e
caractère déjà délimité par des guillemets.
MsgBox "Le nom de l'onglet de la feuille est : ""toto"""
Le principe est très utile lorsque l'on désire d'utiliser des f onctions
de la feuille de calcul en vba, il y a de quoi s'y perdre... Un exemple
: ;-))
'---------------------------------------
Sub FormuleEnVBA()
Dim Adr As String, Adr1 As String
Dim Adr2 As String, Adr3 As String
Dim Rg As Range, A As Variant
Dim Crit As String, Crit1 As String, Crit2 As String
With Worksheets("Feuil1") 'à déterminer
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
Crit = "MonModèle"
Crit1 = "Diamètre"
Crit2 = "Espacement"
With Rg
Adr = .Parent.Name & "!" & .Address
Adr1 = .Offset(, 1).Parent.Name & "!" & .Offset(, 1).Address
Adr2 = .Offset(, 2).Parent.Name & "!" & .Offset(, 2).Address
Adr3 = .Offset(, 3).Parent.Name & "!" & .Offset(, 3).Address
End With
MaFormule = "=SumProduct((" & Adr & "=""" & Crit & """)*" & _
"(" & Adr1 & "=""" & Crit & """)*" & _
"(" & Adr2 & "=""" & Crit2 & """)*" & _
"(" & Adr3 & "))"
A = Evaluate(" & maformule & ")
MsgBox A
'si tu n'as pas besoin de modifier les variables, tu peux utiliser ceci:
A =
[SumProduct((A1:A5="Modèle")*(B1:B5=Diamètre)*(C1:C5=Espa cement)*(D1:D5))]
MsgBox A
End Sub
'---------------------------------------
MichD

Merci à tous pour ces infos qui me sont très utiles....