Fonction de recherche VBA - Comment utiliser la fonction de recherche VBA? (Exemples)

Table des matières

Rechercher Excel VBA

Lorsque nous utilisons Rechercher dans une feuille de calcul normale, nous appuyons sur le raccourci clavier CTRL + F et tapons les données que nous devons trouver et si ce n'est pas la valeur souhaitée, nous passons à la correspondance suivante, s'il y a beaucoup de correspondances, c'est une tâche fastidieuse mais nous utilisons FIND dans VBA, il fait les tâches pour nous et nous donne la correspondance exacte et il faut trois arguments, l'un est ce qu'il faut trouver, où trouver et où regarder.

Avant de passer à VBA et de commencer à utiliser la fonction de recherche dans les macros, nous devons d'abord savoir ce qu'est une fonction de recherche dans Excel. Dans Excel normal, dans l'onglet Accueil sous le groupe d'édition, nous pouvons trouver une fonction de recherche qui est utilisée pour trouver une chaîne ou une valeur dans une plage de cellules ou une feuille de calcul entière.

Lorsque nous cliquons dessus, nous obtenons deux options;

L'un est simple à trouver,

Nous pouvons voir qu'il dispose également d'un mode d'options qui ouvre une autre fonctionnalité.

Il fait l'algorithme de recherche avec quatre contraintes, Rechercher quoi, À l'intérieur, Rechercher et rechercher.

La deuxième option dans Excel consiste à rechercher et remplacer ce qui est utilisé lorsque nous trouvons une chaîne mais quoi la remplacer par une autre valeur,

Rechercher la syntaxe de la fonction

Nous avons appris ci-dessus ce qu'est Find dans Excel de base. Dans VBA, nous écrivons les codes manuellement, mais les fonctionnalités sont les mêmes que celles d'Excel normal. Regardons d'abord la syntaxe.

Expression.Find (Quoi, regardez,….)

Si la valeur que nous recherchons est trouvée avec la fonction Excel, elle renvoie la cellule où se trouve la valeur, et si la valeur n'est pas trouvée, alors l'objet de la fonction est mis à rien.

Les expressions dans les macros sont des plages définies, telles que la plage 1 ou la plage 2. Qu'est-ce qu'un mot-clé pour ce que nous voulons rechercher pour une valeur spécifique? Lookin est un mot-clé pour ce que nous essayons de rechercher, est-ce un commentaire, une formule ou une chaîne. De même, il existe d'autres contraintes dans la fonction Rechercher, qui sont facultatives. Le seul champ obligatoire requis est la valeur que nous essayons de rechercher.

Fondamentalement, VBA trouve qu'Excel a un argument obligatoire, à savoir Quelle valeur nous voulons rechercher. Le reste des contraintes est facultatif et il existe de nombreuses contraintes dans la fonction de recherche. La fonction de recherche est similaire à ce qu'est une fonction de recherche dans Excel.

Le paramètre de la fonction de recherche est la plage de cellules, comme dans quelle plage nous voulons trouver une valeur. Il peut s'agir de quelques colonnes ou de quelques cellules ou d'une feuille de calcul entière.

Exemples

Exemple 1

Supposons que nos données aient les valeurs suivantes

Nous essayerons de trouver «Aran» dans les mêmes données.

  • Pour écrire un code VBA, il est nécessaire d'avoir activé l'onglet développeur dans Excel afin de pouvoir écrire des codes VBA.
  • Nous commençons à écrire notre code en écrivant le code suivant comme indiqué ci-dessous,
Sub Sample ()
DimFindS As String
Dim Rng As Range
FindS = InputBox («Entrez la valeur à rechercher»)
Avec Sheets («Sheet1») .Range («A: A»)
  • L'exemple est le nom de la fonction donnée au sous.
  • Find est la chaîne que nous voulons que l'utilisateur que nous voulons saisir pour la recherche.
  • Rng est la variable que nous avons prise pour la plage.
  • Maintenant, nous demandons à l'utilisateur d'entrer la valeur qui ressemble à la capture d'écran ci-dessous,
  • Nous allons maintenant définir notre fonction de recherche dans le module.
  • La fonction trouve la valeur entrée par l'utilisateur dans la plage donnée.
  • Maintenant, nous fermons la fonction par les arguments suivants.
  • Maintenant, si nous exécutons notre code en premier, il demande une invite de l'utilisateur pour une valeur.
  • Une fois le code terminé, il renvoie la cellule dans laquelle les données ont été trouvées.

Exemple # 2

Dans l'exemple ci-dessus, il y avait quatre noms uniques, mais que se passe-t-il s'il y a plus d'un nom dans les données, comme considérer les données ci-dessous,

Nous pouvons voir que le nom Aran est répété deux fois dans les données ci-dessus. Si Excel doit trouver le nom Aran, il le trouvera dans la cellule A2 et s'arrêtera, mais il y a une autre valeur similaire à celle de A2 dans la cellule A6. Comment récupérer cette valeur? Voici la syntaxe de Find (What, After) dans l'aide.

Après définit la cellule, après quelle référence, nous voulons rechercher les données.

Écrivons le code des données ci-dessus.

  • N'oubliez pas d'activer l'onglet développeur à partir des options, puis de la personnalisation du ruban dans Excel pour pouvoir écrire le code dans VBA.
  • Dans VBA, nous obtenons des objets Microsoft Excel, qui est un module dans lequel nous écrivons les codes.
  • Auparavant, nous travaillions sur la feuille 1; maintenant, nous travaillons sur la feuille 2, alors sélectionnez la feuille 2 pour un autre module, et une page vierge apparaît.
  • Maintenant, commencez à écrire le code en définissant d'abord la fonction comme SUB Sample2 () et appuyez sur Entrée.
  • Maintenant, nous avons défini notre fonction; nous allons commencer à entrer dans la partie principale, qui définit nos variables.
  • Définissez ce que doit avoir la variable Find,
  • Sélectionnez les feuilles sur lesquelles nous travaillons, qui est la feuille 2 dans cet exemple,
  • Nous allons maintenant trouver le texte tout ce que l'utilisateur entre après la cellule A2, nous définissons donc notre fonction de recherche comme ci-dessous,
  • Maintenant, nous fermons le code en terminant les conditions with et if.

Ce que fait le code ci-dessus est de rechercher la chaîne après la cellule A2 et de renvoyer la cellule partout où elle se trouve.

Choses dont il faut se rappeler

  1. Tout d'abord, nous devons activer l'onglet développeur pour utiliser VBA.
  2. Quelle est la valeur spécifique que nous devons trouver?
  3. Si la valeur n'est pas trouvée, l'objet de la fonction est défini sur rien.

Articles intéressants...