Excel VBA pour faire correspondre les valeurs d'une plage (3 exemples)

  • Partage Ça
Hugh West

Tout en travaillant avec Microsoft Excel mais parfois nous avons besoin de trouver la valeur correspondante dans une plage. Nous pouvons facilement le faire avec les fonctions Excel. Il existe des fonctions en VBA que nous pouvons utiliser, mais aucune d'entre elles n'est égale à MATCH Dans cet article, nous allons apprendre à faire correspondre une valeur dans une plage avec la fonction Excel VBA .

Télécharger le cahier d'exercices

Vous pouvez télécharger le cahier d'exercices et vous entraîner avec eux.

VBA Faire correspondre une valeur dans une plage.xlsm

Introduction à la fonction Excel VBA Match

Le site Fonction de correspondance dans Excel VBA est une fonction de recherche construite très utile qui, comme la fonction VLOOKUP , HLOOKUP et le INDEX renvoie l'emplacement d'une correspondance identique ou comparable des valeurs de consultation obtenues dans des tableaux ou une base de données. Cette fonction est une fonction de feuille de calcul que le programme utilise. Comme il s'agit d'une fonction de feuille de calcul, les paramètres de la fonction Match sont similaires à ceux de la fonction de feuille de calcul.

3 exemples d'Excel VBA pour faire correspondre les valeurs d'une plage de valeurs

1. faire correspondre les valeurs d'une plage avec la fonction VBA Match dans Excel

Pour utiliser la fonction Excel VBA Match Pour trouver la valeur correspondante dans une plage, nous allons utiliser l'ensemble de données suivant, qui contient les noms de certains élèves dans la colonne C leurs notes sur un sujet spécifique en colonne D et le numéro de série de chaque élève dans la colonne B Maintenant, supposons que nous voulons trouver la position de la correspondance dans la cellule G5 d'une marque spécifique, et la marque que nous voulons faire correspondre est dans la cellule F5 .

Démontrons la procédure pour trouver les valeurs correspondantes dans une plage à l'aide de la fonction Match d'Excel VBA. .

ÉTAPES :

  • Tout d'abord, allez sur le site Développeur dans le ruban.
  • Ensuite, cliquez sur Visual Basic pour ouvrir le Éditeur Visual Basic où nous écrivons le code. Ou bien, appuyez sur Alt + 11 pour ouvrir le Éditeur Visual Basic .

  • Une autre façon d'ouvrir Éditeur Visual Basic est juste pour Cliquez à droite sur sur la feuille de calcul et cliquez sur Afficher le code .

  • Cela ouvrira le Éditeur Visual Basic Maintenant, écrivez le code ici.

Code VBA :

 Sub example1_match() Range("G5").Value = WorksheetFunction.Match(Range("F5").Value, Range("D5:D10"), 0) End Sub 
  • Après cela, pour exécuter le code, appuyez sur la touche F5 de votre clavier ou cliquez sur le bouton Rub Sub bouton.

  • Enfin, vous pouvez voir que la correspondance est trouvée en position 5 .

🔎 Comment fonctionne le code VBA ?

  • Sous exemple1_match() : Cela signifie que nous définissons une sous-procédure en donnant le nom de la macro.
  • Range("G5").Value : Nous voulons que la sortie soit stockée dans la cellule G5 .
  • Fonction de la feuille de travail : En utilisant ce code, nous pourrons accéder aux fonctions VBA.
  • Match(Range("F5").Value, Range("D5:D10"), 0) : Ici, nous utilisons la fonction Match en VBA. Comme nous voulons prendre la valeur de la cellule F5 et trouver la position dans l'intervalle D5:D10 .
  • End Sub : Cela signifie que nous terminons la procédure.

Lire la suite : Excel VBA pour faire correspondre une chaîne de caractères dans une colonne (5 exemples)

2. utiliser Excel VBA pour faire correspondre une valeur provenant d'une autre feuille de calcul

Nous pouvons trouver les valeurs correspondantes dans la plage à partir d'une autre feuille de calcul, en utilisant la fonction VBA Match sur Excel Supposons que nous ayons un jeu de données dans une feuille nommée " Données "et nous voulons le résultat dans le nom de la feuille " Résultat "Et nous utilisons le même jeu de données. Maintenant, suivons les étapes pour le faire.

ÉTAPES :

  • Au début, comme dans l'exemple précédent, allez dans la rubrique Développeur dans le ruban.
  • Ensuite, cliquez sur Visual Basic ou appuyez sur Alt + F11 pour ouvrir le Éditeur Visual Basic .
  • Au lieu de cela, pour ouvrir le Éditeur Visual Basic il suffit de cliquer avec le bouton droit de la souris sur la feuille et de sélectionner Afficher le code .

  • Maintenant, écrivez le code VBA.

Code VBA :

 Sub example2_match() Sheets("Result").Range("C5").Value = WorksheetFunction.Match(Sheets("Result").Range("C5").Value, Sheets("Data").Range("D5:D10"), 0) End Sub 
  • Ensuite, exécutez le code en appuyant sur la touche F5 ou en cliquant sur le bouton Run Sub bouton.

  • Et, le résultat se trouve dans le " Résultat feuille ".

Lire la suite : Comment faire correspondre des données dans Excel à partir de 2 feuilles de travail

Lectures similaires

  • Additionner toutes les correspondances avec VLOOKUP dans Excel (3 méthodes simples)
  • Comment trouver une correspondance sensible à la casse dans Excel ( 6 Formules)
  • Comment faire correspondre des noms dans Excel lorsque l'orthographe diffère (8 méthodes)

3. boucles Excel VBA pour obtenir la valeur correspondante dans une plage de valeurs

Supposons que nous voulions que plusieurs marques correspondent à la valeur, nous utiliserons les boucles VBA pour cela. Nous utilisons le même ensemble de données que précédemment. Maintenant, nous voulons que la position de correspondance dans la colonne G et les marques pour lesquelles nous voulons trouver la correspondance sont dans la colonne F Voyons les étapes à suivre.

ÉTAPES :

  • Tout d'abord, à partir du ruban, allez dans la rubrique Développeur onglet.
  • Deuxièmement, pour ouvrir le Éditeur Visual Basic cliquez sur Visual Basic ou appuyez sur Alt + F11 .
  • Ou bien, il suffit de cliquer avec le bouton droit de la souris sur la feuille et de sélectionner Afficher le code .

  • Cela ouvrira le Éditeur Visual Basic .
  • Maintenant, tapez le code ici.

Code VBA :

 Sub example3_match() Dim i As Integer For i = 5 To 8 Cells(i, 7).Value = WorksheetFunction.Match(Cells(i, 6).Value, Range("D5:D10"), 0) Next i End Sub 
  • Après cela, appuyez sur la touche F5 ou en cliquant sur le bouton Run Sub permet d'exécuter le code.

  • Et, vous pourrez voir le résultat dans la colonne G .

🔎 Comment fonctionne le code VBA ?

  • Pour i = 5 à 8 : Cela signifie que nous voulons que la boucle se déroule à partir de la ligne 5 et en terminant par la rangée 8 .
  • Cells(i, 7).Value : Cela permet de sauvegarder la valeur des emplacements résultants dans chaque ligne de 5 à 8 rangs dans la colonne G qui est le numéro de la colonne 7 .
  • Match(Cells(i, 6).Value, Range("D5:D10"), 0) : Les cellules peuvent être appariées à l'aide de la fonction Match (i, 6). Les valeurs recherchent chaque valeur de Lookup trouvée dans les lignes. 5 par le biais de 8 de la 6ème Puis recherche dans le tableau D5:D10 sur une feuille excel lorsque les données sont disponibles.

Lire la suite : Excel recherche des valeurs correspondantes dans deux colonnes

Les choses à garder à l'esprit

  • Si le type de correspondance est manquant ou non spécifié, il est supposé être 1 .
  • Si aucune correspondance n'est détectée, le champ excel correspondant sera vide.
  • La valeur de la recherche peut être une donnée numérique, un caractère ou une donnée logique, ou une référence de cellule à une quantité, un texte ou une signification logique.

Conclusion

Les méthodes ci-dessus vous aideront à faire correspondre les valeurs d'une plage dans Excel VBA. J'espère que cela vous aidera ! Si vous avez des questions, des suggestions ou des commentaires, n'hésitez pas à nous en faire part dans la section des commentaires. Vous pouvez également jeter un coup d'œil à nos autres articles dans la section "Excel VBA". ExcelWIKI.com blog !

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.