Excel + VBA et les caractères Russe

Le
FdeCourt
Bonsoir,

Dans un classeur Excel j'ai des cellules écrites en russe. Elles
s'affichent correctement dans ma feuille Excel.
Cependant j'ai des macros en VBA qui execute un traitement sur ces
cellules pour les enregistrer ensuite dans un fichier txt. Je suis
obligé de faire ce traitement cellule par cellule.
Le problème est que VBA ne semble pas accépter mes caractères russes,
ils sont tous remplacé par des ?.
Savez vous comment je pourrais gérer par VBA des caractères provenant
de différentes langues, sachant qu'Excel les affiche correctement ?

Merci pour votre aide

F
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FdeCourt
Le #5026451
Je completerai mon post en précisant que j'ai une version française de
WinXPn, que le clavier russe est disponible, et que j'ai testé en
metant les options régionnal à Russe.

On 9 nov, 19:36, FdeCourt
Bonsoir,

Dans un classeur Excel j'ai des cellules écrites en russe. Elles
s'affichent correctement dans ma feuille Excel.
Cependant j'ai des macros en VBA qui execute un traitement sur ces
cellules pour les enregistrer ensuite dans un fichier txt. Je suis
obligé de faire ce traitement cellule par cellule.
Le problème est que VBA ne semble pas accépter mes caractères russe s,
ils sont tous remplacé par des ?.
Savez vous comment je pourrais gérer par VBA des caractères provenant
de différentes langues, sachant qu'Excel les affiche correctement ?

Merci pour votre aide

F


Mishell
Le #5026321
Bonjour.

Excel n'a pas de contrôles qui acceptent le texte formaté.

Il faut donc utiliser MsWord à partir de Excel.

Sub test()

Dim MyDataObj As New DataObject

Dim oWord As Object
Dim oDoc As Object

Set oWord = CreateObject("word.application")
Set oDoc = oWord.Documents.Add

With oWord

'Copier de A1 à A200 et coller dans un document MsWord
For i = 1 To 200

MyDataObj.SetText Worksheets("Sheet1").Cells(i, 1).Text

MyDataObj.PutInClipboard

With .Selection
.Paste
.TypeText vbCrLf
End With

.Visible = True

Next

.ActiveDocument.SaveAs "c:test.Doc"

.Quit

End With

End Sub

Cordialement

MiShell


"FdeCourt" news:
Je completerai mon post en précisant que j'ai une version française de
WinXPn, que le clavier russe est disponible, et que j'ai testé en
metant les options régionnal à Russe.

On 9 nov, 19:36, FdeCourt
Bonsoir,

Dans un classeur Excel j'ai des cellules écrites en russe. Elles
s'affichent correctement dans ma feuille Excel.
Cependant j'ai des macros en VBA qui execute un traitement sur ces
cellules pour les enregistrer ensuite dans un fichier txt. Je suis
obligé de faire ce traitement cellule par cellule.
Le problème est que VBA ne semble pas accépter mes caractères russes,
ils sont tous remplacé par des ?.
Savez vous comment je pourrais gérer par VBA des caractères provenant
de différentes langues, sachant qu'Excel les affiche correctement ?

Merci pour votre aide

F


FdeCourt
Le #5394271
Bonsoir Mishell,

Ta solution fonctionne et me permet de travailler avec des caractères
russes.

Merci pour ton aide.

F.

On 10 nov, 07:09, "Mishell"
Bonjour.

Excel n'a pas de contrôles qui acceptent le texte formaté.

Il faut donc utiliser MsWord à partir de Excel.

Sub test()

Dim MyDataObj As New DataObject

Dim oWord As Object
Dim oDoc As Object

Set oWord = CreateObject("word.application")
Set oDoc = oWord.Documents.Add

With oWord

'Copier de A1 à A200 et coller dans un document MsWord
For i = 1 To 200

MyDataObj.SetText Worksheets("Sheet1").Cells(i, 1).Text

MyDataObj.PutInClipboard

With .Selection
.Paste
.TypeText vbCrLf
End With

.Visible = True

Next

.ActiveDocument.SaveAs "c:test.Doc"

.Quit

End With

End Sub

Cordialement

MiShell

"FdeCourt"
news:
Je completerai mon post en précisant que j'ai une version française de
WinXPn, que le clavier russe est disponible, et que j'ai testé en
metant les options régionnal à Russe.

On 9 nov, 19:36, FdeCourt
Bonsoir,

Dans un classeur Excel j'ai des cellules écrites en russe. Elles
s'affichent correctement dans ma feuille Excel.
Cependant j'ai des macros en VBA qui execute un traitement sur ces
cellules pour les enregistrer ensuite dans un fichier txt. Je suis
obligé de faire ce traitement cellule par cellule.
Le problème est que VBA ne semble pas accépter mes caractères russ es,
ils sont tous remplacé par des ?.
Savez vous comment je pourrais gérer par VBA des caractères provenan t
de différentes langues, sachant qu'Excel les affiche correctement ?

Merci pour votre aide

F




Publicité
Poster une réponse
Anonyme