Excel 2010 / Macro bouton recherche

Résolu/Fermé
Razaii Messages postés 85 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 5 septembre 2017 - 13 nov. 2012 à 09:31
Razaii Messages postés 85 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 5 septembre 2017 - 13 nov. 2012 à 14:02
Bonjour à tous,

J'utilise un tableau excel qui se tient sur 2 pages.

La 1ère feuille est un tableau d'information client qui se base sur les données de la 2ème feuille Excel.

J'ai crée un bouton** (Database) tout simple fait passer de la 1ère feuille à la seconde feuille. J'aimerai ajouter qu'il séléction directement la numéro entrée dans une cellule*. Comme un Ctrl + F.

(*dans cette cellule, un numéro de client est entrée pour obtenir les informations liée à la feuille 2.)

(** Sub Renvoie()
Sheets("Base de données à modifier").Select
End Sub )

Si je ne suis pas très clair dites-le moi =).

Merci d'avance et bonne journée à tous.


A voir également:

3 réponses

pijaku Messages postés 12259 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 9 août 2022 2 709
13 nov. 2012 à 10:25
Bonjour,

Par exemple avec la méthode Find.
Remplace ta Sub renvoie par celle-ci :

Sub Renvoie() 
Dim rngTrouve As Range

With Sheets("Base de données à modifier")
    Set rngTrouve = .Cells.Find(Range("F5").Value, lookat:=xlWhole)
    If rngTrouve Is Nothing Then
        MsgBox "Référence non valide."
    Else
        .Select
        rngTrouve.Select
    End If
End With
End Sub 
1
Razaii Messages postés 85 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 5 septembre 2017 14
13 nov. 2012 à 13:50
Avant tout merci de ta réponse.

Après tout, EXTRAORDINAIRE =) 20/20 Exactement ce qu'il me fallait.


Je comprends juste pas ce "lookat:=xlwhole"
et ce "rng" c'est l'abréviation de range ?

Merci beaucoup, bonne après-midi
0
pijaku Messages postés 12259 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 9 août 2022 2 709
13 nov. 2012 à 13:56
rngTrouve est une variable de type Range. Il est coutumier de débuter le nom des variables par 3 lettres rappelant leur type.
Exemple :
rngTrouve, intNum, strMot etc...
Le but est de simplifier la lecture pour une éventuelle maintenance de ton code par un inconnu.

lookat:=xlwhole indique à la méthode find qu'elle doit chercher la valeur exacte.
Effectivement, tu parlais dans ta question de un numéro de client . Or si tu cherches 1, il est présent dans 10 (par exemple). D'où l'importance de régler ce paramètre (lookat) de la méthode find sur xlWhole.
Si tu avais souhaité te placer sur la première cellule contenant un mot proche mais pas exact, on aurait, à ce moment écris :
Set rngTrouve = .Cells.Find(Range("F5").Value, lookat:=xlPart)


Bon aprème également.
0
Razaii Messages postés 85 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 5 septembre 2017 14
13 nov. 2012 à 14:02
Okey j'ai saisi la chose.

merci encore pour les explications.
0