Transformer abréviation en mot ou phrase

Inuyone

XLDnaute Nouveau
Bonjour le Forum.

Pourriez-vous m'aider sur ce casse tête.

J’ai un code qui modifie des abréviations en mot ou début de phrase. Cela fonctionne parfaitement.

Serait-il possible que cette macro déclenche en utilisant la barre d’espacement.

En fait, j'avais placé certaines abréviations dans windows (AutoCorrect options) qui correspondent à des débuts de phrases.
Avec cette option, il suffit de taper sur la barre d'espacement pour que cette abréviation se transforme et de ce fait on peut continuer
la phrase directement dans la cellule.

Le problème est que certaines abréviations sont trop proches de mots utilisés couramment et que dans cette option il n'est pas possible
de faire de sélection de colonnes.

Dans ma ligne de code, il faut valider par enter ou tab pour déclencher la macro et de ce fait il faut revenir dans
la cellule pour continuer la phrase.


Code :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("H15:K18")) Is Nothing Then
Select Case Target
Case "A": Target = "Alpha"
Case "B": Target = "Bravo"
End Select
End If
End Sub
 
Dernière modification par un modérateur:

denis

XLDnaute Nouveau
Re : Transformer abréviation en mot ou phrase

Heu sincèrement je ne pense vraiement pas que ça soit faisable AVEC LES MACROS.. L'évènement de la macro est déclenché lorsque le "remplissage" de la cellule en cours a été terminé. Or, vous voulez que la macro soit déclenché avant cet évènement. Donc à part modifier le fonctionnement natif de Excel, je ne vois pas comment ça pourrait être possible.
 

denis

XLDnaute Nouveau
Re : Transformer abréviation en mot ou phrase

Par contre (une toute petite consolation) il est possible de sélectionner automatquement la cellule qui vient d'être auto-remplie^^ Certes, faudra re-rentrer dans la petite barre d'entrée de texte, mais la cellule sera déjà choisie
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Sheets(1).Range("a1:a10")) Is Nothing Then
Select Case Target
Case "A": Target = "Alpha"
Case "B": Target = "Bravo"
End Select
End If
Target.Select
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 568
dernier inscrit
NoS