TROUVER VBA

Rechercher Excel VBA

Lorsque nous utilisons Rechercher dans une feuille de calcul normale, nous appuyons sur le raccourci clavier CTRL + F et saisissons 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 telles correspondances, c'est une tâche fastidieuse mais quand 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 a également 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, l'objet de la fonction est défini sur 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, qu'il s'agisse d'un commentaire, d'une formule ou d'une chaîne. De même, il existe d'autres contraintes dans la fonction Find qui sont facultatives. Le seul champ obligatoire requis est la valeur que nous essayons de rechercher.

Fondamentalement, VBA trouve qu'Excel a un argument requis qui est 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

Vous pouvez télécharger ce modèle Excel de la fonction VBA FIND ici - Modèle Excel de la fonction VBA FIND

Exemple 1

Supposons que nos données aient les valeurs suivantes

Nous allons essayer 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,
Sous-échantillon ()

Dim FindS comme chaîne

Dim Rng As Range

FindS = InputBox ("Entrez la valeur que vous souhaitez rechercher")

Avec feuilles ("Feuille1") .Plage ("A: A")

  • L'exemple est le nom de la fonction donné 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 saisie par l'utilisateur dans la plage donnée.
  • Maintenant, nous fermons la fonction par les arguments suivants.

  • Maintenant, si nous exécutons d'abord notre code, 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, par exemple, considérez 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.

After définit la cellule après laquelle 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 personnaliser le ruban dans Excel pour pouvoir écrire le code dans VBA.
  • Dans VBA, nous obtenons des objets Microsoft Excel, 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 que 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, à savoir 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.

Le code ci-dessus recherche la chaîne après la cellule A2 et renvoie la cellule où qu'elle se trouve.

Choses à retenir

  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.