Recherche rapide de feuilles via Userform

  • Initiateur de la discussion Initiateur de la discussion NadroJ
  • 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 !

N

NadroJ

Guest
Bonjour,

J'ai un fichier qui comporte une centaine de feuilles toutes nommées par des numéros de type "W0045.." etc.

La premiere page est un grand tableau récapitultif de ces feuilles.

Je souhaiterais via une userform créer une recherche rapide en indiquand un numéro de feuille et être directement rediriger vers celui-ci.

Merci
 
Re : Recherche rapide de feuilles via Userform

Bonjour,

Je vous joint le fichier en question.

En fait je vais avoir +200 feuilles sur mon classeur, et je souhaiterais pour rechercher rapidement chacune d'elle via une userform recherche rapide.
En prenant comme données de base , la colonne numéro du fichier. (N°WO)

Je rentre le numero du véhicule souhaitéet cela me dirige directement vers la page concernée.

Merci
 

Pièces jointes

Re : Recherche rapide de feuilles via Userform

Salut NadroJ et le forum
La flemme de créer un USF.
Macro à lancement automatique en double-clic sur une cellule.
Clic-droit sur nom de l'onglet => Menu contextuel>>Visualiser le code.
et tu colles la macro :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Columns(2)) Is Nothing Then Exit Sub
Cancel = True
Sheets(Target.Value).Activate
End Sub
A+
 
Re : Recherche rapide de feuilles via Userform

Merci Gorfael !

Pour ajouter à ton code une message du type (Mise à jour non effectée) si la page n'est pas créée.

Worksheet = False
MsgBox "Mise à jour non effectuée", vbInformation + vbOKOnly

?
Merci
 
Re : Recherche rapide de feuilles via Userform

Salut NadroJ et le forum
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'déclaration ===================================
Dim F As Worksheet, Flg As Boolean
'validité ======================================
If Intersect(Target, Range([B2], Cells(Rows.Count, "B").End(xlUp))) Is Nothing Then Exit Sub
Cancel = True
'Traitement ====================================
For Each F In ThisWorkbook.Sheets
    If F.Name = Target Then
        Flg = True
        F.Activate
        Exit For
    End If
Next F
'Feuille non trouvée ===========================
If Flg = False Then
    MsgBox "La feuille " & Target & " n'a pas pu être mise à jour !", vbInformation, "Erreur de feuille"
End If
End Sub
J'aurais préféré créer une feuille dans ce cas. Mais je ne connaît pas assez bien les différences avec la version 2003, ni ne possède tous les éléments pour créer un modèle.
A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
18
Affichages
538
  • Question Question
Microsoft 365 Tableau
Réponses
5
Affichages
288
Retour