Glossaire acronymes, recherche automatique

Bonjour,

Je sollicite votre aide au sujet d'une macro que je n'arrive pas à finaliser.

Débutant dans un nouveau secteur où il y a pléthore d'acronymes et j'aimerais les répertorier dans une feuille Excel.

Je vous préviens, mais connaissances en VBA sont quasi nulles, j'ai juste quelques notions de codage (langage C) qui remontent maintenant à 3-4 ans...

En cherchant sur le net et notamment sur ce forum, j'ai trouvé un début de solution grâce à une feuille de calcul d'un certain dubois :

https://forum.excel-pratique.com/excel/creer-un-dictionnaire-bilingue-sous-excel-t19513.html

Il s'agit de la feuille intitulée "Traducteur2.xls"

Le sujet datant de 2010 et n'étant pas exactement le même que le mien, je me suis permis d'en créer un nouveau.

Certaines fonctionnalités du précédent fichier ne m'intéressent pas :

- L'échange de colonne entre les 2 langues

- Les définitions

- la colonne ecriture...

En bidouillant un peu, je suis parvenu à une version plus épurée (dispo en PJ). J'arrive à créer de nouvelles entrées et une macro me permet de classer ces entrées dans l'ordre alphabétique.

Cependant, lorsque je veux rechercher une entrée, cela se complique... Lorsque j'entre une lettre ou un acronyme dans la case de recherche, la cellule cible s'affiche dans une cellule (b1) et correspond au résultat attendu. Mais j'aimerais que cela me renvoie automatiquement à la ligne correspondante (ce qui est le cas avec le fichier initial).

Dans l'idéal, j'aimerais également que seule la ligne cible se surligne.

En espérant avoir été suffisamment clair....

Merci

108glossaire.xlsm (66.43 Ko)

Bonjour et bienvenu(e)

Il ne faut pas modifier le nom des macros événementielles

Option Explicit
Public Flag As Boolean, Ecrit As Boolean

Sub AllerEn()
Flag = True
    Application.ScreenUpdating = False
    Range(Range("B1").Value).Select
    Range("Base").Interior.ColorIndex = xlNone
    Application.Goto ActiveCell.Offset(0, -2), Scroll:=True
Flag = False
End Sub
Sub Classer()
Dim Lg%
Lg = Range("c65536").End(xlUp).Row
Flag = True
    Application.ScreenUpdating = False
    Application.CutCopyMode = False
    Range("c6:d" & Lg).Name = "Base"
    Range("c6:c" & Lg).Name = "Col_C"
    Range("c6:c" & Lg).Name = "Mots"
    '---- tri ----
    Range("Base").Sort Key1:=Range("c6"), Order1:=xlAscending, Header:=xlNo, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

    Range("b1") = "=""C""&MATCH(CONCATENATE(c3,""*""),Col_C,0)+5"
    Range("c3").Interior.ColorIndex = 15
Flag = False
    Range("c4:d4").ClearContents
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
'Sub Change()
If Flag Then Exit Sub
    If Not Application.Intersect(Target, Range("c3")) Is Nothing Then
        If IsError(Range("b1")) Then
           MsgBox ("non référencé !")
        Exit Sub
        End If
        Call AllerEn
    End If
        Range("c3").Activate
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Sub SelectionChange()
If Flag Then Exit Sub
    If Not Application.Intersect(Target, Range("mots")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
    Flag = True
        Range("Mots").Interior.ColorIndex = xlNone
        Cells(2, 3) = Cells(Target.Row, 3)
        Cells(2, 3).Activate
        Cells(3, 3) = Cells(Target.Row, 5)
        Target.Interior.ColorIndex = 15
    End If
    Flag = False
End Sub

Bonjour Banzai64,

Je te remercie pour ta réponse claire et rapide, cela fonctionne à merveille.

Tout ça m'a donné envie d'apprendre à coder sur excel, je vais m'y mettre sérieusement d'autant plus qu'il y a des cours de dispo sur ce site.

Bonne soirée !

Rechercher des sujets similaires à "glossaire acronymes recherche automatique"