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

Export au format txt du dictionnaire de correction automatique (fichier .acl)

9 réponses
Avatar
bobj
Bonjour,

Connaissez vous une (ou plusieurs) méthode pour manipuler le
dictionnaire de correction automatique d'Excel.

Je souhaiterais obtenir un fichier texte/csv/excel avec toutes les
entrées de ce dictionnaire.

Exemple :
ACorriger;Correction
lse;les
Falange;Phalange
...

Merci pour vos lumières,
Cordialement,

9 réponses

Avatar
Michd
Bonjour,
Je n'ai jamais fait cela!
Le fichier de correction automatique se retrouve habituellement dans ce répertoire :
C:UsersTon profilAppDataRoamingMicrosoftOffice
l'extension du fichier est ".acl"
Exemple : MSO1036.acl
Pour ouvrir ce type de fichier, tu devrais avoir besoin d'un éditeur de texte
Tu en as une liste ici :
https://www.clubic.com/telecharger/windows/editeur/tous-les-logiciels/
Je ne peux t'en dire plus puisque je n'ai jamais fait cela. J'espère que tu nous feras bénéficier de
ton expérience lorsque tu auras trouvé une solution.
MichD
"bobj" a écrit dans le message de groupe de discussion : 5b36a89f$0$15172$
Bonjour,
Connaissez vous une (ou plusieurs) méthode pour manipuler le
dictionnaire de correction automatique d'Excel.
Je souhaiterais obtenir un fichier texte/csv/excel avec toutes les
entrées de ce dictionnaire.
Exemple :
ACorriger;Correction
lse;les
Falange;Phalange
...
Merci pour vos lumières,
Cordialement,
Avatar
Michd
Cette adresse pourrait bien de donner des idées même si c'est fait pour "Word".
https://multifarious.filkin.com/2013/05/31/autocorrect-for-everything/
MichD
Avatar
Michd
Cette adresse pourrait bien de donner des idées même si c'est fait pour "Word".
https://multifarious.filkin.com/2013/05/31/autocorrect-for-everything/
MichD
Avatar
bobj
Merci pour vos idées,
au final, la procédure suivante permet d'extraire les différentes
valeurs du dictionnaire.
Cela pourra peut-être vous servir.
Sub extractAutoCorrectDico()
Dim Ligne As Long
Ligne = 1
liste = Application.AutoCorrect.ReplacementList
For x = 1 To UBound(Application.AutoCorrect.ReplacementList)
Cells(Ligne, 1) = liste(x, 1)
Cells(Ligne, 2) = liste(x, 2)
Ligne = Ligne + 1
Next x
End Sub
Le 30/06/2018 à 13:14, Michd a écrit :
Cette adresse pourrait bien de donner des idées même si c'est fait pour
"Word".
https://multifarious.filkin.com/2013/05/31/autocorrect-for-everything/
MichD
Avatar
Michd
Merci pour ce retour.
MichD
Avatar
isabelle
bonjour,
pour gagner en vitesse d'exécution,
Sub Test()
Dim a(1 To 2, 1 To 65536)
liste = Application.AutoCorrect.ReplacementList
   For i = 1 To UBound(liste)
     a(1, i) = liste(i, 1)
     a(2, i) = liste(i, 2)
   Next i
Range("A1").Resize(UBound(a, 2), 2) = Application.Transpose(a)
x = Cells(Rows.Count, 1).End(xlUp).Row + 1
Rows(x & ":65536").Delete Shift:=xlUp
'enregistrer le fichier pour réinitialiser la derniere cellule
End Sub
isabelle
Le 2018-07-02 à 14:26, bobj a écrit :
Merci pour vos idées,
au final, la procédure suivante permet d'extraire les différentes
valeurs du dictionnaire.
Cela pourra peut-être vous servir.
Sub extractAutoCorrectDico()
Dim Ligne As Long
Ligne = 1
liste = Application.AutoCorrect.ReplacementList
For x = 1 To UBound(Application.AutoCorrect.ReplacementList)
Cells(Ligne, 1) = liste(x, 1)
Cells(Ligne, 2) = liste(x, 2)
Ligne = Ligne + 1
Next x
End Sub
Avatar
Jacquouille
Bonjour Isa Belle
Peux-tu essayer de me faire comprendre cette ligne, svp?
< Dim a(1 To 2, 1 To 65536)
Déjà merci pour ta patience. -))
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"isabelle" a écrit dans le message de groupe de discussion :
phf0br$15fd$
bonjour,
pour gagner en vitesse d'exécution,
Sub Test()
Dim a(1 To 2, 1 To 65536)
liste = Application.AutoCorrect.ReplacementList
For i = 1 To UBound(liste)
a(1, i) = liste(i, 1)
a(2, i) = liste(i, 2)
Next i
Range("A1").Resize(UBound(a, 2), 2) = Application.Transpose(a)
x = Cells(Rows.Count, 1).End(xlUp).Row + 1
Rows(x & ":65536").Delete Shift:=xlUp
'enregistrer le fichier pour réinitialiser la derniere cellule
End Sub
isabelle
Le 2018-07-02 à 14:26, bobj a écrit :
Merci pour vos idées,
au final, la procédure suivante permet d'extraire les différentes
valeurs du dictionnaire.
Cela pourra peut-être vous servir.
Sub extractAutoCorrectDico()
Dim Ligne As Long
Ligne = 1
liste = Application.AutoCorrect.ReplacementList
For x = 1 To UBound(Application.AutoCorrect.ReplacementList)
Cells(Ligne, 1) = liste(x, 1)
Cells(Ligne, 2) = liste(x, 2)
Ligne = Ligne + 1
Next x
End Sub
Avatar
Michd
Bonjour,
A est une variable de type "Tableau (array)". Ce tableau possède 2 dimensions. L'adresse d'une
cellule contient toujours une référence à une colonne et une ligne.
Dim A(1 to 2, 1 to 65536)
Dim (A colonnes, Lignes)
Comme Excel n'a pas une cellule portant une adresse du type : Cells(0,0), on définit habituellement
un tableau de base 1 au lieu d'un tableau de base 0.
Et pour faire plaisir à Isabelle qui recherche la vitesse, on peut écrire la procédure comme ceci :
'--------------------------------------------
Sub test1()
Dim Liste As Variant
Liste = Application.AutoCorrect.ReplacementList
With Worksheets("Feuil1")
.Range("A1").Resize(UBound(Liste), 2).Value = Liste
End With
End Sub
'--------------------------------------------
On peut même réduire la procédure à ceci :
'--------------------------------------------
Sub test21()
With Worksheets("Feuil1")
.Range("A1").Resize(UBound(Application.AutoCorrect.ReplacementList), 2).Value =
Application.AutoCorrect.ReplacementList
End With
End Sub
'--------------------------------------------
MichD
Avatar
isabelle
merci Denis pour le suivi,
j'avais essayé
Liste = Application.AutoCorrect.ReplacementList
mais j'obtenais un message d'erreur,
j'ai réessayé aujourd'hui et tous fonctionne,
va savoir pourquoi :(
isabelle