Caractères spéciaux dans VBA

Fermé
marcelio Messages postés 56 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 10 mars 2021 - 6 juil. 2015 à 11:44
marcelio Messages postés 56 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 10 mars 2021 - 16 juil. 2015 à 22:13
Bonjour à tous,
Dans un USF j'ai inséré plusieurs images (boite à outils, image) et insérer les fanions des villes des pays de l'est.
J'aimerais nommer toutes ces images (dans la catégorie Tag :) du nom de la ville mais ceux-ci ont des caractères spéciaux.
Mon but, dans mon fichier original avec un double clic sur le nom de la ville cela m'ouvre un autre USF avec le fanion de la ville sélectionnée.
mais la comme le nom de la ville ne correspond pas à celle qui est inscrite dans le tag de l'image cala m'ouvre bien l'USF mas sans l'image.

Exemple :
Steaua Bucure?ti cela donne Steaua Bucure?ti
Boto?ani cela donne Boto?ani
Bra?ov Bra?ov
Dinamo Bucure?ti Dinamo Bucure?ti

Y à t'il une solution pour remédier à ce problème.

Merci d'avance de votre aide.
Marcelio

http://www.cjoint.com/c/EGgjRJLbNY3

--

3 réponses

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
Modifié par Frenchie83 le 12/07/2015 à 07:38
Bonjour
Je pense qu'il faut décomposer le nom de la ville caractère par caractère et le reconstruire de la même façon mais avec la valeur du code unicode, ce qui permettra de restituer les vrais caractères, et appelez ainsi, votre userform avec le nom reconstitué.
A tester
    Nom = ""
    For c = 1 To Len(NomVille)
        ValCar = AscW(Mid(NomVille, c, 1))
        NomReconstitué = NomReconstitué & ChrW(ValCar )
    Next
   'appeler le userform avec NomReconstitué
0
marcelio Messages postés 56 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 10 mars 2021
13 juil. 2015 à 21:18
Bonsoir Frenchie83 et le Forum,
Je teste votre code et vous tiens au courant.
Merci
A+
Marcelio

--
0
marcelio Messages postés 56 Date d'inscription lundi 9 avril 2007 Statut Membre Dernière intervention 10 mars 2021
16 juil. 2015 à 22:13
Bonsoir Frenchie83 et le Forum,
Je ne suis pas arriver à faire fonctionner votre code.
Mais j'ai trouver ceci qui fonctionne très bien:

Private Sub UserForm_Activate()
Dim CTL As Control
Dim PIC As IPictureDisp

TextBox1 = Worksheets(Nom_Onglet).Range(AdCel)

For Each CTL In FANION.Controls
If UCase(TextBox1) Like UCase(CTL.Tag) Then
Set PIC = CTL.Picture
Image1.Picture = PIC
Exit For
End If
Next CTL

End Sub

Encore merci Frenchie83 de votre aide.
Bonne soirée à vous et au Forum
Marcelio
--
0