Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Excel + VBA et les caractères Russe

3 réponses
Avatar
FdeCourt
Bonsoir,

Dans un classeur Excel j'ai des cellules =E9crites 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=E9 de faire ce traitement cellule par cellule.
Le probl=E8me est que VBA ne semble pas acc=E9pter mes caract=E8res russes,
ils sont tous remplac=E9 par des ?.
Savez vous comment je pourrais g=E9rer par VBA des caract=E8res provenant
de diff=E9rentes langues, sachant qu'Excel les affiche correctement ?

Merci pour votre aide

F

3 réponses

Avatar
FdeCourt
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 wrote:
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


Avatar
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" wrote in message
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 wrote:
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


Avatar
FdeCourt
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" wrote:
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" wrote in message

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 wrote:

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