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
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
A voir également:
- Excel 2010 / Macro bouton recherche
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
3 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
13 nov. 2012 à 10:25
13 nov. 2012 à 10:25
Bonjour,
Par exemple avec la méthode Find.
Remplace ta Sub renvoie par celle-ci :
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
Razaii
Messages postés
85
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
5 septembre 2017
13
13 nov. 2012 à 13:50
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
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
13 nov. 2012 à 13:56
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 :
Bon aprème également.
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.
Razaii
Messages postés
85
Date d'inscription
samedi 4 avril 2009
Statut
Membre
Dernière intervention
5 septembre 2017
13
13 nov. 2012 à 14:02
13 nov. 2012 à 14:02
Okey j'ai saisi la chose.
merci encore pour les explications.
merci encore pour les explications.