XL 2016 Zone et bouton recherche pour atteindre une donnée

Bourbonkid59

XLDnaute Nouveau
Bonjour à toutes et tous.

J'ai un tableau issue d'une extraction Business Object (voir modèle en PJ

Dans le fichier ci-dessous je n'ai laissé qu'un exemple :
En Jaune l'IMMAT des Véhicules et en vert les codes Ateliers.
Et en dessous de chaque code atelier les tableaux avec les données correspondantes à l'IMMAT et le code Atelier.
Sachant que ce "schéma" se répète plusieurs fois puisque j'ai plus de 60 IMMAT différentes.

Je voudrais avoir dans un onglet accueil un champs de saisie (pour saisir l' IMMAT) et un bouton recherche pour m'envoyer directement à l’occurrence correspondante dans l'onglet Rapport 1.

J'espère que ma question est claire.
Merci d'avance pour votre aide.
Bonne journée.
Cordialement.
 

Pièces jointes

  • Suivi_Appros.xlsx
    16.9 KB · Affichages: 7

Bourbonkid59

XLDnaute Nouveau
Bonjour pierrejean,
merci pour votre proposition.
L'idée est là mais la recherche serait accès sur les IMMAT en jaune.
J'ai rajouté quelques exemples dans mon fichier.
Ayant plus de 60 IMMAT différentes je ne peux pas les saisir dans une liste de choix. Est-il possible de mettre une zone de saisie libre ?
 

Pièces jointes

  • Suivi_Appros.xlsm
    19 KB · Affichages: 4

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Dans le fichier joint en feuille 1 cellule B2, tapez une immatriculation et cliquez sur le bouton 'Rechercher'.

Cordialement

[Edit] Hello Pierre-Jean. Personnellement j'ai zappé immat jaune.
 

Pièces jointes

  • Suivi_Appros.xlsm
    22.6 KB · Affichages: 13

Bourbonkid59

XLDnaute Nouveau
Re bonjour,
Roblochon,
La fonction recherche fonctionne bien si le champs est un nombre, mais l'extraction qui me donne ce tableau met l'IMMAT en format texte.
2ème question : je n'arrive pas à déplacer le bouton, dans quel menu faut-il aller ?
Merci d'avance et bonne journée :)
[EDIT] : j'ai trouvé la réponse pour déplacer le bouton ;-)
 
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Remplacer la ligne :
idx = Application.Match([B2], Sheets("Rapport 1").Range("B$1:B$10000"), 0)
Par
idx = Application.Match(CStr([B2]), Sheets("Rapport 1").Range("B$1:B$10000"), 0)

et cela devrait fonctionner.

Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

voici qui est corrigé. Mais tout de même vous pourriez vous donner la peine d'apprendre plutôt que d'attendre que les solutions arrivent toutes cuites.
J'aurais apprécié que vous montriez ce que vous avez tenter de faire pour résoudre cette question en vous appuyant sur la littérature vba du net ou d'ailleurs.

VB:
Private Sub BtnRecherche_Click()
    Dim idx As Variant
    If Not IsEmpty(Range("B2")) Then
        idx = Application.Match(CStr([B2]), Sheets("Rapport 1").Range("B$1:B$10000"), 0)
        If Not IsError(idx) Then
                Application.Goto Sheets("Rapport 1").Range("A1").Offset(idx - 1).Resize(, 2), True
        Else
            MsgBox "Immatriculation " & Range("B2") & " non trouvée!", vbExclamation, "Recherche fiche véhicule"
        End If
    Else
        MsgBox "Saisissez une imatriculation en cellule B2 puis recommencez", vbExclamation, "Recherche fiche véhicule"
    End If
End Sub

Cordialement
 

Bourbonkid59

XLDnaute Nouveau
Merci Roblochon.
Effectivement j'avoue ne pas prendre le temps de chercher de mon côté. Le VBA et moi ça fait 3, et je n'ai pas le temps de chercher pour apporter moi même une solution, d'où cette solution de facilité, je l'avoue ... MEA CULPA.
Par contre pour les formules Excel où j'ai déjà sollicité votre aide, j'arrive à me dépatouiller moi-même pour faire évoluer à mon niveau.
Merci encore pour l'aide que vous apportez.
Cordialement.
 

Statistiques des forums

Discussions
311 725
Messages
2 081 944
Membres
101 849
dernier inscrit
florentMIG