Recherche de valeurs en colonne et coloriage

Bonjour,

Je débute avec excel et commence à m'intéresser un peu aux macros. J'ai un problème tout simple à automatiser qui me pose déjà quelques soucis

J'ai en colonnes A et B deux listes de nombres, j'aimerais faire une petite macro qui débute en B1 et me colorie dans la colonne A toutes les cellules qui contiennent la valeur de B1 et ainsi de suite avec B2, B3 ... jusqu'à ce que toutes les valeurs de la colonne B aient été passées en revue (la même couleur est appliquée sur toutes les cellules).

Je sens bien qu'il me faut faire une petite boucle avec deux paramètres i et j mais je ne sais pas quelle fonction utiliser pour faire ma recherche. Je pense pouvoir le faire en mise en forme conditionnelle mais j'ai vraiment envie de voir ce que ça donne en vba !

Merci d'avance pour votre aide

Bonjour,

En premier lieu un fichier exemple avec ce que tu veux aurait été plus simple à comprendre; ensuite on fait du VBA s'il y beaucoup de données (des milliers ou dizaines de milliers voire centaines..) et avant de faire des macros, il faut une base de connaissance des fonctions natives d'excel.

P.

Bonjour Patrick,

Je vous joins un petit fichier excel avec les deux colonnes comme décrit dans mon premier message. Il n'y a que 20 lignes mais dans les fichiers que je dois traiter il y en a des centaines.

Je connais un peu les fonctions de base sur excel (pour faire des calculs simples, trier, faire des recherches en ligne ou colonne etc) et commence à m'intéresser à vba ce qui me permet de mettre un pas dans la programmation tout en m'améliorant sur excel !

Merci pour votre réponse

26test.xlsx (10.30 Ko)

J'ai un peu trituré mes boucles et j'arrive à ça :

Sub Coloriage()

Dim i As Integer

Dim j As Integer

Dim n As Integer

Dim m As Integer

m = Range("A1").End(xlDown).Row 'donne le nombre de lignes non vide en colonne A'

n = Range("B1").End(xlDown).Row ' donne le nombre de lignes non vides en colonne B'

For j = 1 To n

For i = 1 To m

If Cells(i, 1) = Cells(j, 2) Then Cells(i, 1).Interior.ColorIndex = 30

Next i

Next j

End Sub

J'ai l'impression que ça marche, je ne sais pas si c'est la manière la plus efficace de le faire.

Merci pour le partage du site ça m'a l'air d'être une mine d'informations ! De quoi m'occuper pour quelques années

Rechercher des sujets similaires à "recherche valeurs colonne coloriage"