Table des matières
Dans MS Excel, nous avons souvent besoin de rechercher ou de trouver des valeurs dans un ensemble de données. Il peut s'agir de trouver des données dans les lignes ou les colonnes. Heureusement, Excel fournit différentes fonctions et formules pour effectuer ce genre de tâches. Avec l'aide du code Excel VBA, nous pouvons automatiser cette tâche de recherche ou de trouver des valeurs. Dans cet article, nous verrons différentes façons de trouver la valeur dans une colonne en Excel VBA.
Télécharger le cahier d'exercices
Trouver la valeur dans une colonne.xlsm6 exemples de VBA pour trouver la valeur d'une colonne dans Excel
Disposons d'un ensemble de données d'informations sur les produits avec leur ID du produit , Marque , Modèle , Prix unitaire et Numéro de commande Notre tâche est de trouver l'appariement Numéro de commande Maintenant, notre tâche est de trouver le Numéro de commande associé à la ID du produit .
1. trouver la valeur dans une colonne en utilisant la fonction Find de VBA
Dans le premier exemple, nous allons utiliser le Fonction de recherche en VBA pour trouver une valeur dans une colonne.
📌 Des pas :
- Allez au nom de la feuille au bas de la feuille.
- Appuyez sur le bouton droit de la souris.
- Choisissez le Afficher le code de la liste.
- La fenêtre VBA s'ouvre, puis sélectionnez Module de la Insérer option
- Maintenant, écrivez le code suivant dans la console VBA
Sub Find_Value() Dim ProductID As Range Range("D4").ClearContents Set ProductID = Range("B8:B19").Find(What:=Range("C4").Value, _ LookIn:=xlValues, LookAt:=xlWhole) If Not ProductID Is Nothing Then Range("E5").Value = ProductID.Offset(, 4).Value Else MsgBox "No Matched Data Found ! !" End If End Sub
- Insérez maintenant un bouton dans l'ensemble de données.
- Allez à la Développeur onglet.
- Choisissez Bouton ( Contrôle des formulaires ) de la Insérer section.
- Donnez n'importe quel nom au bouton, comme par exemple Recherche .
- Attribuez le code à ce bouton.
- Sélectionnez le bouton et appuyez sur le bouton droit de la souris.
- Choisissez Attribuer une macro de la liste.
- Sélectionnez la macro souhaitée dans la liste Attribuer une macro fenêtre.
- Ensuite, appuyez sur OK .
- Maintenant, écrivez n'importe quel ID du produit et cliquez sur le Recherche bouton.
Nous pouvons voir qu'aucune correspondance n'apparaît, car ce numéro de produit n'est pas dans la liste.
- Mettez un autre ID du produit et appuyez à nouveau sur la touche Recherche bouton.
Nous obtenons le numéro d'ordre de la commande donnée ID du produit .
Lire la suite : Comment obtenir la valeur d'une cellule par ligne et colonne dans Excel VBA
2. VBA pour trouver une valeur à partir de différentes feuilles de calcul
Dans cette section, nous allons faire la même chose que ci-dessus, mais pour des feuilles de calcul différentes. Supposons que nos informations sur les produits se trouvent dans le fichier Feuille 2 et le champ de recherche est dans Feuille 3 Nous allons maintenant écrire le code VBA qui nous permettra de rechercher l'ID de la commande à partir de l'ID du produit. Feuille 3 .
Fiche 2 :
Feuille 3 :
📌 Des pas :
- Suivez les mêmes étapes que pour étape 1 à étape 2 de la méthode précédente pour ouvrir la console VBA
- Maintenant, écrivez le code suivant dans la console VBA
Sub Find_Value_from_worksheets() Dim rng As Range Dim ProductID As String Dim rownumber As Long ProductID = Sheet3.Cells(4, 3) Set rng = Sheet2.Columns("B:B").Find(What:=ProductID, _ LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) rownumber = rng.Row Sheet3.Cells(5, 5).Value = Sheet2.Cells(rownumber, 6).Value End Sub
- Maintenant, insérez à nouveau un bouton comme le précédent.
- Attribuez ensuite le code de la macro au bouton.
- Saisissez n'importe quel ID du produit et cliquez sur le Exécuter bouton
Lire la suite : Rechercher une valeur dans une colonne et renvoyer la valeur d'une autre colonne dans Excel
3. trouver et marquer la valeur dans la colonne
Voyons comment nous pouvons trouver les valeurs d'une colonne en les marquant. Pour cela, supposons le même ensemble de données que ci-dessus avec une colonne supplémentaire nommée État de la livraison Maintenant, notre tâche est de marquer les valeurs dans le tableau de bord. État de la livraison colonne qui sont En attente .
📌 Des pas :
- Suivez la même étape à partir de étape 1 à étape 2 comme la méthode précédente pour ouvrir la console VBA
- Maintenant, écrivez le code suivant dans la console VBA
Sub Find_and_Mark() Dim strAddress_First As String Dim rngFind_Value As Range Dim rngSrch As Range Dim rng_Find As Range Set rng_Find = ActiveSheet.Range("G1:G16") Set rngSrch = rng_Find.Cells(rng_Find.Cells.Count) Set rngFind_Value = rng_Find.Find("Pending", rngSrch, xlValues) If Not rngFind_Value Is Nothing Then strAdd_First = rngFind_Value.Address rngFind_Value.Font.Color = vbRed Do SetrngFind_Value = rng_Find.FindNext(rngFind_Value) rngFind_Value.Font.Color = vbRed Loop Until rngFind_Value.Address = strAddress_First End If End Sub
- Maintenant, allez dans la feuille de calcul et exécutez le code.
- Voir le résultat dans le tableau.
Lire la suite : Comment trouver la valeur la plus élevée dans une colonne Excel (4 méthodes)
4. VBA pour rechercher des valeurs dans une colonne à l'aide de caractères génériques
Enfin, nous allons voir comment rechercher ou trouver des valeurs dans des colonnes à l'aide de caractères génériques dans Excel VBA. Nous utiliserons à nouveau le même ensemble de données que précédemment pour cette méthode. Notre tâche consiste à trouver les prix des produits à l'aide de leur modèle. Nous pouvons soit taper le nom complet, soit les caractères de début et de fin du produit. ID du produit .
📌 Des pas :
- Suivez la même étape à partir de étape 1 à étape 2 comme la méthode précédente pour ouvrir la console VBA
- Maintenant, écrivez le code suivant dans la console VBA
Sub Find_Using_Wildcards() Set myerange = Range("B5:G16") Set ID = Range("D19") Set Price = Range("F20") Price.Value = Application.WorksheetFunction.VLookup _ ("*" & ; Range("D19") & ; "*", myerange, 4, False) End Sub
- Encore une fois, insérez un bouton comme le précédent.
- Attribuez maintenant le code de la macro au bouton.
- Saisissez maintenant n'importe quelle partie ID du produit et appuyez sur la touche Exécuter bouton.
Lire la suite : Comment trouver la valeur la plus basse dans une colonne Excel (6 façons)
5) Excel VBA pour trouver la valeur maximale dans une colonne
Ici, nous voulons trouver la valeur maximale d'une colonne en utilisant le code VBA.
📌 Des pas :
- Nous voulons connaître le prix maximum.
- Maintenant, mettez le code VBA suivant sur un nouveau module.
Sub Column_Max() Dim range_1 As Range Set range_1 = Application.InputBox(prompt:= "Select Range", Type:=8) Max_Column = WorksheetFunction.Max(range_1) MsgBox Max_Column End Sub
- Ensuite, appuyez sur la touche F5 pour exécuter le code VBA.
- Le site Entrée apparaît.
- Sélectionnez la plage dans l'ensemble de données.
- Enfin, appuyez sur la touche OK bouton.
Nous pouvons voir que la valeur maximale est indiquée dans la boîte de dialogue.
6) Excel VBA pour trouver la dernière valeur d'une colonne
Ici, nous voulons connaître la valeur de la dernière ligne ou cellule d'une colonne spécifique. Par exemple, nous voulons connaître le dernier produit de la colonne Produit.
📌 Des pas :
- Saisissez le VBA code ci-dessous sur le module.
Sub last_value() Dim L_Row As Long L_Row = Cells(Rows.Count, "B").End(xlUp).Row MsgBox Cells(L_Row, 2).Value End Sub
- Ensuite, exécutez le code en appuyant sur la touche F5 bouton.
La dernière valeur est affichée dans la boîte de dialogue.
Lire la suite : Comment trouver la dernière occurrence d'une valeur dans une colonne dans Excel (5 méthodes)
Les choses à retenir
Quelques erreurs courantes :
- Erreur : Une valeur à la fois. Parce que le TROUVEZ ne peut trouver qu'une seule valeur à la fois.
- Erreur : #NA sur VLOOKUP Si la valeur recherchée n'est pas présente dans l'ensemble de données donné, cette fonction retournera ceci #NA erreur.
- Range("Cell_Number").ClearContents est utilisée pour effacer la valeur précédente de la cellule. Sinon, la valeur précédente doit être supprimée manuellement.
Conclusion
Ce sont là quelques façons de trouver des valeurs dans des colonnes en utilisant le code VBA dans Excel. J'ai montré toutes les méthodes avec leurs exemples respectifs, mais il peut y avoir beaucoup d'autres itérations. J'ai également discuté des principes fondamentaux des fonctions utilisées. Si vous avez une autre méthode pour y parvenir, n'hésitez pas à la partager avec nous. Visitez notre site web ExcelWIKI pour d'autres articles intéressants sur Excel.