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

VBA et guillemets à la française

5 réponses
Avatar
Romain Casey
Bonjour,
Je suis en train d'écrire une macro qui (entre autre) ouvre un fichier
au format texte (avec l'extension srt, qui provient d'un autre
logiciel), remplace les guillemets à l'anglaise par les guillemets à la
française, et enregistre le document sous un autre nom, avec la même
extension (pour garder un document source propre).
La macro fonctionne, le problème est que quand je ré-ouvre la copie (une
fois les guillemets remplacé donc), il m'a re-transformé les guillemets
à la française en guillemets anglais... Je suppose qu'il y a un problème
d'encodage du fichier de sortie, j'ai essayé différents type d'encodage
(ASCII, Unicode, UTF-8, DOStexte, etc.) mais ça ne change rien... Par
contre, si j'enregistre les modifications de mon document source, il
conserve les guillemets.
Du coup, je me suis tourné vers une autre solution, ouvrir une copie du
document source, faire les modifications et enregistrer la copie.
Mais je n'y arrive pas...

Quelqu'un aurait-il une idée, soit pour que mon "Save As" garde le
format d'encodage du source, soit pour ouvrir une copie du document
source (sous VBA) ?

Merci.


Romain

5 réponses

Avatar
Bernard SC
Bonjour
Ce n'est pas juste un problème de "Correction automatique" ?
A débrayer dans Outils/Correction automatique, les guillemets apparaisssent
dans plusieurs onglets (Lors de la frappe, et Mise en forme automatique).


"Romain Casey" a écrit dans le
message de news:c7a4mq$6sc$
Bonjour,
Je suis en train d'écrire une macro qui (entre autre) ouvre un fichier
au format texte (avec l'extension srt, qui provient d'un autre
logiciel), remplace les guillemets à l'anglaise par les guillemets à la
française, et enregistre le document sous un autre nom, avec la même
extension (pour garder un document source propre).
La macro fonctionne, le problème est que quand je ré-ouvre la copie (une
fois les guillemets remplacé donc), il m'a re-transformé les guillemets
à la française en guillemets anglais... Je suppose qu'il y a un problème
d'encodage du fichier de sortie, j'ai essayé différents type d'encodage
(ASCII, Unicode, UTF-8, DOStexte, etc.) mais ça ne change rien... Par
contre, si j'enregistre les modifications de mon document source, il
conserve les guillemets.
Du coup, je me suis tourné vers une autre solution, ouvrir une copie du
document source, faire les modifications et enregistrer la copie.
Mais je n'y arrive pas...

Quelqu'un aurait-il une idée, soit pour que mon "Save As" garde le
format d'encodage du source, soit pour ouvrir une copie du document
source (sous VBA) ?

Merci.


Romain


Avatar
Romain Casey
Pour info, voici le code que j'utilise pour ouvrir et enregistrer mon
document.

With Dialogs(wdDialogFileOpen)
.Name = "*.*"
If .Show = 0 Then Exit Sub
End With

Dim NomDocE, NomDocS
NomDocE = ActiveDocument.Name
NomDocS = Mid(NomDocE, 1, Len(NomDocE) - 4) & "_OUT." & Right(NomDocE, 3)
ActiveDocument.SaveAs NomDocS


Merci.


Romain
Avatar
Romain Casey
Bonjour
Ce n'est pas juste un problème de "Correction automatique" ?
A débrayer dans Outils/Correction automatique, les guillemets apparaisssent
dans plusieurs onglets (Lors de la frappe, et Mise en forme automatique).


Non non, ça n'a rien à voir. Je veux les guillemets à la française et je
les obtiens. Si j'enregistre le document source, ils sont conservés, si
j'enregistre une copie (Enregistrer sous), il me les retransforme en
guillemets à l'anglaise. Si c'était un problème de correction
automatique, les deux documents étant basés sur le même modèle (a
priori), j'obtiendrais le même résultat... Ceci dit, dans tous les
codages que j'ai utilisés, les guillemets à la française existent
(ASCII, Unicode, UTF-8, etc.) c'est pourquoi je ne comprends pas qu'il
ne me les conserve pas avec "Enregistrer sous"...


Romain

Avatar
Geo
Bonjour Romain
Il me semble qu'un cas similaire a été soumis sur ce forum.
Peut-être en cherchant dans l'historique ?


--

A+
Avatar
Romain Casey
Bonjour Romain
Il me semble qu'un cas similaire a été soumis sur ce forum.
Peut-être en cherchant dans l'historique ?


Merci du conseil. En fait, j'avais déjà cherché mais sans succès...
Mais j'ai résolu le problème en ouvrant mon document, stockant le nom,
le fermant, faisant une copie de mon document (avec un Call FileCopy),
le réouvrant et travaillant dessus... C'est un peu lourd comme démarche
mais ça fonctionne et comme mes fichiers d'entrée sont petits, le temps
de la copie, etc. est minime et ça ne gêne pas (pas d'attente quoi).

Merci.


Romain