XL 2019 Vérifier l'orthographe lorsqu'on sort d'une cellule

bennp

XLDnaute Occasionnel
Bonjour, je souhaite vérifier automatiquement l'orthographe d'un texte à l’intérieur automatiquement lorsque je quitte cette cellule, une idée ?
Pour l'instant j'ai :

Range("AC28:BB39").CheckSpelling

Mais je ne me souviens plus comment activer lorsque'on quitte la cellule.

Autre chose, on me pose ensuite la question : Voulez-vous continuer la vérification au début de la feuille ?

Peut-on éviter la question ou mettre automatiquement "Non" ?

Merci d'avance

Ben
 

Phil69970

XLDnaute Barbatruc
Bonjour bennp

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Range("AC28:BB39").CheckSpelling 

End Sub

Si les mots sont correctes pour le dictionnaire il ne se passe rien sinon excel te propose une correction.


En tapant sur F1 j'ai l'aide en ligne suivante :

Range.CheckSpelling, méthode


Référence du développeur Excel​
Range.CheckSpelling, méthode
Vérifie l'orthographe d'un objet.
Syntaxe

expression.CheckSpelling(CustomDictionary, IgnoreUppercase, AlwaysSuggest, SpellLang)


expression Variable qui représente un objet Range.

Paramètres

NomObligatoire/FacultatifType de donnéesDescription
CustomDictionaryFacultatifVarianteChaîne qui indique le nom de fichier du dictionnaire personnel à consulter si le mot ne figure pas dans le dictionnaire principal. Si cet argument est omis, c'est le dictionnaire actuellement spécifié qui est utilisé.
IgnoreUppercaseFacultatifVarianteTrue pour que Microsoft Excel ignore les mots en majuscules. False pour que Microsoft Excel vérifie l'orthographe des mots en majuscules. Si cet argument est omis, ce sont les paramètres en vigueur qui sont utilisés.
AlwaysSuggestFacultatifVarianteTrue pour que Microsoft Excel affiche une liste de suggestions lorsqu'un mot mal orthographié est détecté. False pour que Microsoft Excel attende que vous tapiez le mot correctement orthographié. Si cet argument est omis, ce sont les paramètres actuels qui sont utilisés.
SpellLangFacultatifVarianteLangue du dictionnaire utilisé. Il peut s'agir d'une des valeurs MsoLanguageID utilisées par la propriété LanguageID.

Valeur renvoyée
Variante

Remarques

Cette méthode ne renvoie pas de valeur ; Microsoft Excel affiche la boîte de dialogue Orthographe.

Pour vérifier les en-têtes, les pieds de page et les objets d'une feuille de calcul, utilisez cette méthode sur un objet Lien supprimé.

Pour ne vérifier que les cellules et les annotations, utilisez cette méthode avec l'objet renvoyé par la propriété Lien supprimé.

Lien supprimé

@Phil69970
 

bennp

XLDnaute Occasionnel
Bjr, je l'avais enregistré dans le mauvais format et le code au mauvais endroit d'ailleurs
Par contre, à chaque fois que je quitte n'importe quelle case, ça me lance le code, alors que je souhaite uniquement lorsque je quitte la cellule AC28:BB39
un idée ?
 

Pièces jointes

  • fautes ortho.xlsm
    14.5 KB · Affichages: 7

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour bennp, Phil69970

Essaie ceci :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("ac28:bb39")) Is Nothing Then
Range("AC28:BB39").CheckSpelling
End If
End Sub
Bonne fin de journée à toutes & à tous
Eric c
 

Phil69970

XLDnaute Barbatruc
Bonsoir bennp, Eric, le forum

Attention effet pervers du correcteur :
Si le correcteur voit une faute dans les cellules "AC28:BB39" ET sur changement dans les cellules "AC28:BB39 il va lancer la correction sur toute la feuille y compris en dehors de la zone "AC28:BB39
Pour corriger ce problème j'ai fait ce fichier.

@Phil69970
 

Pièces jointes

  • fautes ortho V1.xlsm
    22.1 KB · Affichages: 5

bennp

XLDnaute Occasionnel
Bonjour Phil, je vois bien le correcteur et appuie sur remplacer mais rien ne se corrige. Ensuite c'est comme si j'appuyais sur le bouton correction finalement, il faut penser à faire cette action ?
Mais effectivement c'est dommage qu'excel n'ait pas fait de mise à jour pour cette correction et qu'il ne donne pas plus de possibilité pour vérifier ou non telle ou telle cellule. Merci :)
 

bennp

XLDnaute Occasionnel
En fait Eric, je me rend compte que la correction se fait en cliquant sur la cellule et non en la quittant et ça fait une grosse différence puis-qu’après avoir écrit le texte puis appuyé sur entrée, il faudrait que je re clique dessus pour vérifier l’orthographe, ça revient au même que la proposition de Phil ou même de juste cliquer sur le bouton de vérification orthographique.
 

Phil69970

XLDnaute Barbatruc
Bonjour bennp, Eric, le forum

je vois bien le correcteur et appuie sur remplacer mais rien ne se corrige.
Si il corrige MAIS que la zone "AC28:BB39" la correction est visible quand il a fini la correction.
Rappel il se déclenche par double-clic sur n'imorte quelle cellule.

Ensuite c'est comme si j'appuyais sur le bouton correction finalement,
On pourrait le lancer d'une autre manière mais attention aux boucles infinis, il faudrait mettre un compteur pour le faire sortir de la procédure ....
Si la correction est faite sur la zone "AC28:BB39" il ne la corrigera plus jamais sauf si il voit une nouvelle faute dans cette zone et si on déclenche le correcteur.

==> Avec la solution d'Eric quand le correcteur démarre il corrige TOUTE la feuille et pas moyen de le contrer.
Il démarre sur "SelectionChange" de la zone "AC28:BB39"

==> Avec ma solution quand le correcteur démarre il corrige que la zone "AC28:BB39".

@Phil69970
 

Phil69970

XLDnaute Barbatruc
J'ai bien compris ton problème mais faire un double-clic ne me semblait pas insurmontable.
On pourrait le lancer d'une autre manière mais attention aux boucles infinis, il faudrait mettre un compteur pour le faire sortir de la procédure ....
A voir au moment de l’enregistrement si cela peut de convenir puisqu'il faudra bien à un moment que l’utilisateur enregistre son fichier.
@Phil69970
 

Discussions similaires

Réponses
8
Affichages
470

Statistiques des forums

Discussions
312 081
Messages
2 085 160
Membres
102 800
dernier inscrit
NOTZ