Problème code VBA et langue arabe

ancien1957 -  
 BSMHami -
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.

8 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    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
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, je te suggère d'expliquer ce que la macro fait avec le texte, par exemple en partageant le code VBA.
    0
  3. ancien1957
     
    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
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      renvoyer où ???
      0
    2. BSMHami
       

      Suivez ces instructions,

      Puis ce si,

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

    Posez votre question
  5. ancien1957
     
    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
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      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
  6. ancien1957
     
    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
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Et c'est quoi ta macro ???
      0
  7. ancien1957
     
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "الأولى"
    Range("A2").Select
    End Sub
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      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
  8. ancien1957
     
    ça ne marche pas pas
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Bien sur que ça marche :
      https://mon-partage.fr/f/C5oG01GS/
      0