Problème code VBA et langue arabe

Fermé
ancien1957 - 14 déc. 2017 à 12:31
 BSMHami - 29 août 2023 à 22:34
Bonjour,
J'ai écrit mon code vba en français tout en glissant un mot en arabe que j'ai mis entre guillemets "الأولى".
La macro me renvoie tout le texte en français en bonne et due forme mais pour le mot en arabe, elle renvoie "??????".
Pouvez vous m'aider.
Merci d'avance.



A voir également:

8 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
16 déc. 2017 à 15:53
Bonjour,

Utilises un label dans un userform pour l'afficher :
Private Sub Test()
Dim s As String
  s = ChrW(1575) & ChrW(1604) & ChrW(1650) & ChrW(1608) & ChrW(1604) & ChrW(1609)
  Range("A1").Value = s
  UserForm1.Label1.Caption = s
  UserForm1.Show
  Unload UserForm1
End Sub


0
c'est quoi un label et c'est quoi un userform ?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 16 déc. 2017 à 16:48
0
yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024 1 477
16 déc. 2017 à 17:39
bonjour, je te suggère d'expliquer ce que la macro fait avec le texte, par exemple en partageant le code VBA.
0
Je vous prie de m'expliquer étape par étape ce que je dois faire pour exécuter ma macro qui doit renvoyer un mot en arabe ("الأولى")
Merci d'avance
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 16 déc. 2017 à 18:10
renvoyer où ???
0

Suivez ces instructions,

Puis ce si,

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dans mon code VBA, j'ai programmé un mot en arabe qui, lorsque j'appuie sur executer la macro, doit etre écrit sur ma page excel 2007.
Merci à vous
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
16 déc. 2017 à 17:56
Par exemple en A1 :
Private Sub Test()
Dim s As String
  s = ChrW(1575) & ChrW(1604) & ChrW(1650) & ChrW(1608) & ChrW(1604) & ChrW(1609)
  Range("A1").Value = s
End Sub
0
J'ai essayé avec votre macro mais ma macro refuse de me renvoyer du texte en arabe alors qu'elle me renvoie du texte en français le plus normalement du monde. Je ne comprends rien à cela . Aidez moi SVP.
Merci
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
16 déc. 2017 à 18:11
Et c'est quoi ta macro ???
0
Range("A1").Select
ActiveCell.FormulaR1C1 = "الأولى"
Range("A2").Select
End Sub
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
16 déc. 2017 à 18:29
Non, c'est pas possible, c'est pas ta macro, c'est ce que tu voudrais mais pas ce qu'il y a écrit dans l'éditeur VBA, dans l'éditeur VBA ça donne :
Range("A1").Select
ActiveCell.FormulaR1C1 = "??????"
Range("A2").Select
End Sub

L'éditeur VBA n'accepte pas directement les caractères unicode sous forme de chaine !!!!
c'est pour cela que j'ai écrit la valeur unicode de chaque caractère :
s = ChrW(1575) & ChrW(1604) & ChrW(1650) & ChrW(1608) & ChrW(1604) & ChrW(1609)
0
ça ne marche pas pas
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
16 déc. 2017 à 18:48
Bien sur que ça marche :
https://mon-partage.fr/f/C5oG01GS/
0