Insérer "Ω", Oméga dans une procédure VBA

Bonjour à vous,
Je cherche désespérément le moyen de rentrer le sigle "Ω" dans ma procédure.

J'ai vias chercher une cellule "MΩ" que j'enregistre dans la variable "unit", mais VBA lit "M?". J'essaie donc, dans mon bloc IF, de rentrer "If unit = "M?" Then" mais cela n'effectue pas les manipulations que j'ai mis dans ce bloc

Auriez-vous une solution ?

En vous remerciant !

Ps : Désolé si c'est un peu confus et que je n'utilise pas les bons termes, je débute seulement !

Hello,

C'est un caractère Unicode et non ASCII, essaie ça :

If unit = "M" & ChrW(937) Then

@+

Merci pour ta réponse !

Malheureusement ça ne marche pas, pourtant, pour tester j'ai mis :
MsgBox "M" & ChrW(937

Le boîte dialogue affiche toujours "M?"

Hello,

Pourtant j'ai bien ça :

image

Sans ton fichier ça risque d'être compliqué

@+

C'est un fichier pour le travail et je ne peux pas le divulguer...

J'essaie en fait de faire le chemin inverse, au lieu d'écrire "MΩ" depuis mon code VBA dans une cellule (comme tu l'as fait), je cherche a récupérer le contenu d'une cellule et vérifier s'il contient bien "MΩ"

Exemple écrit en lengage humain plutôt que code :
Si dans la cellule E20 il est écrit "MΩ" alors le contenu de F21 change de A à B - où A et B sont des nombres précis

Hello,

Ce code fonctionne chez moi, ça veut dire que le code UNICODE n'est pas le bon et tu dois avoir un caractère différent..

Sub test()
If Range("E20") = "M" & ChrW(937) Then
    Range("F21") = Range("F21") + 1
Else
End If
End Sub

Peut être avec ceci tu peux récupérer le numéro du code UNICODE utilisé :

Sub test2

unit = Range("E20")
MsgBox (AscW(Right(unit, 1)))

End Sub

N'hésite pas si besoin

@+

Bonjour à tous,

A moment donné tu parles de boite de dialogue.
Un Textbox ne peut pas afficher des unicodes. Tu devrais regarder du coté des RichTextBox
eriiic

Finalement, après avoir bien cherché, j'ai trouvé une solution pour contourner mon problème. J'utilise If Left(unit, 1) = "M" Then 
car mon fichier me permet d'être certain qu'il n'y aura jamais de chevauchement (le M n'est associé qu'à 1 valeur)

Bref je ne sais pas si je suis vraiment compréhensible.

Également, je pense que mon problème vient du fait que le "Ω" é été rajouté en format personnalisé : 0 " Ω"

Si cela vous convient, je peux fermer la conversation ?

Merci Eric, je vais me renseigner sur le sujet !

Cdt

Bonjour Samuel.
Je ne suis pas un grand spécialiste Excel, mais pour les caractères grecques, j'ai été confronté à ce problème.
Comme toi, j'ai cherché plein de trucs. Je l'avais résolu par un simple copier-coller des caractères de la cellule. En effet, ça va dépendre comment la personne qui a fait le fichier Excel original pour saisir ce fameux caractère.
essaie donc de le copier et de le coller "brutalement" dans ton code VBA. Au pire, ça ne fonctionnera pas, au mieux, ça fonctionne.

Je t'ai mis les caractères MΩ issue de mon "clavier grec". C'est en fait un clavier enrichi.

voir ici le projet : https://sourceforge.net/projects/frelrick/

pour verrouiller la saisie de 'unit', MΩ est correctement pris dans une liste de validation.
La prochaine fois met un fichier avec le minimum pour le problème, pas besoin du fichier complet

Bonjour à tous,

Il est très important de préciser que ton Ω venait du format de cellule. En effet cela veut dire que ta cellule ne contient en réalité qu'une valeur, par exemple 5 quand tu vois "5 Ω". Par défaut, c'est ce que voit le code VBA.

Pour ne pas regarder la valeur d'une cellule, mais son texte affiché, tu dois utiliser Range.Text (ou vérifier le format).

Ainsi, je suis quasiment certain que le code suivant repris de @Baroute devrait fonctionner

If Range("A1").Text Like "*" & ChrW(937) & "*" Then MsgBox "Trouvé"

Rebonjour tout le monde,
J'ai finalement trouvé mon problème par hasard ! En faisant des tests, j'ai remarqué que le code de Ω était en fait H2126 en Hexa !
j'ai donc modifié mon code pour avoirIf unit = "M" & ChrW(&H2126) Then et cela fonctionne !

En vous remerciant tous

20062025

Encore une fois je tiens à m'excuser pour mon manque de clarté, c'est mon premier post sur ce forum et encore assez novice dans le domaine du codage et des forums

En vous souhaitant une agréable journée

Ah oui, si vous utilisez le "symbole Ohm" et non le "Omega grec majuscule", pour l'ordi ça change tout

(Chose amusante, VBA indique que Chrw(937) ≠ Chrw(&H2126) mais dans le classeur si on entre les 2 caractères dans 2 cellules et qu'on fait un test d'égalité, on trouve VRAI)

Je pense que vous pouvez marquer votre message comme solution pour cloturer le fil alors. Au final c'était simplement un problème de caractère mal défini.

Bonne journée.

Rechercher des sujets similaires à "inserer omega procedure vba"