Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro sélection rapide

  • Initiateur de la discussion Initiateur de la discussion kinel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
337
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…