macro sélection rapide

kinel

XLDnaute Occasionnel
bonjour à tous

j'ai une liste de noms sur laquelle je voudrais avoir un accès rapide en tapant les premières lettres dans une zone texte

un peu comme si je faisais une recherche par le menu d'excel et ça avec l'enregistreur de macro c'est à ma portée..
mais je voudrai que cette recherche se fasse à partir du texte contenu dans une zone texte

je ne parviens pas à faire le lien entre la zone texte et la macro de recherche

Merci de votre aide
Kinel
 

PMO2

XLDnaute Accro
Re : macro sélection rapide

Bonjour,

Une piste avec ce qui suit

1) Créez un UserForm avec la propriété (Name) = UserForm1
2) puis un contrôle TextBox (Name) = TextBox1
3) Dans la fenêtre Projet - VBAproject (Explorateur de projets) cliquez
sur UserForm1 et faites apparaître sa fenêtre de code par clic droit.
4) y copier le code suivant (adaptez la constante cernée par des ###)

Code:
'### Adapter le nom de la feuille concernée ###
Const NOM_FEUILLE As String = "test"
'##############################################

Private Sub TextBox1_Change()
Dim S As Worksheet
Dim R As Range
Dim C As Range
Dim A$
On Error GoTo Erreur
Set S = Sheets(NOM_FEUILLE)
Set R = S.UsedRange
S.Activate
A$ = TextBox1.Text
If A$ = "" Then
  R.Range("a1").Select
  Exit Sub
End If
For Each C In R
  If LCase(Mid(C, 1, Len(A$))) = LCase(A$) Then
    C.Select
    Exit For
  End If
Next C
Exit Sub
Erreur:
Select Case Err
  Case 9
    MsgBox "La feuille ''" & NOM_FEUILLE & "'' est introuvable."
  Case Else
    MsgBox "Erreur : " & Err.Number & vbCrLf & Err.Description
End Select
End Sub

Private Sub UserForm_Initialize()
Me.Caption = "Recherche (accès rapide)"
End Sub
5) dans un module standard copiez le code suivant
Code:
Sub SelectionRapide()
UserForm1.Show (vbModeless)
End Sub
Faites des essais sur une feuille comportant des données.

Cordialement.

PMO
Patrick Morange
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
464
Réponses
6
Affichages
671
Réponses
8
Affichages
459

Statistiques des forums

Discussions
312 763
Messages
2 091 853
Membres
105 079
dernier inscrit
Biscot_399