Recherche de valeurs dans un fichier

  • Initiateur de la discussion Initiateur de la discussion Cooky
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

Cooky

Guest
Bonjour tout le monde,

Je commence à m'intéresser à la programmation de macro en VBA, mais j'ai du mal à débuter.
Je vous explique ce que j'essaie de faire.
Dans mon fichier excel se trouve dans la colonne A les valeurs que je cherche à retrouver (elles débutent à A3 et peuvent se poursuivre indéfiniment) et dans la colonne D se trouve les lignes contenant les valeurs recherchées.

Ce que je voudrais faire, c'est colorer le texte ou la cellule où se trouve une des valeurs recherchées.
Je joins une feuille excel à titre d'exemple en espérant que vous pourrez m'aider à me montrer la voie.

Cooky
 

Pièces jointes

Re : Recherche de valeurs dans un fichier

Salut Cooky et le forum
La loi de Murphy nous dit que si on laisse place à l'interprétation, ce sera imaginé dans un sens que tu ne voulais pas 😉. Plus tu es précis et complet, plus facile est la compréhension des codes qu'on te fournit, puisque tu sais exactement ce que doit faire la macro... et ceux qui te la fournissent aussi ! Mes évidences ne sont pas les tiennes, et versa dans le vice...

Une idée sur ton exemple : j'ai privilégié la pluralité des méthodes utilisées :
Code:
Sub test()
'déclarations des variables ===============
Dim Cel_R As Range, Cel As Range, X As Long
'MEI ======================================
[A3:A7].Interior.ColorIndex = 3
'Recherche ================================
For Each Cel_R In Range([A3], Cells(Rows.Count, "A").End(xlUp))
'Pour toute cellule de la plage de A2 à première non vide de A
'en partant de la dernière ligne et en remontant
    For Each Cel In Range([D1], Range("D" & Rows.Count).End(xlUp))
        If Cel.Font.ColorIndex <> 4 Then
            If Cel Like "*" & Cel_R & "*" Then
                Cel.Font.ColorIndex = 4
                Cel_R.Interior.ColorIndex = 4
            End If
        End If
    Next Cel
Next Cel_R
'cellule Cel_R suivante :
'bien que pas obligatoire, nommer la variable aide en cas de dépannage
'sur des boucles imbriquées
For X = 1 To Cells(Rows.Count, 4).End(xlUp).Row
     If Range("D" & X).Font.ColorIndex <> 4 Then Range("D" & X).Font.ColorIndex = 3
Next X
End Sub
Tu testes sur ton exemple, et s'il y a des questions, n'hésite pas.
A+
 
Re : Recherche de valeurs dans un fichier

Bonjour phlaurent55 et Gorfael,
Merci pour votre accueil et votre aide.

La solution de Gorfael est celle qui répond à ce que je voulais alors je te retourne un grand merci. T'as su lire dans mes pensées 🙂
T'en as même fait plus que ce que je demandais et j'apprécie beaucoup. Par contre, je n'ai pas compris pourquoi, parfois, il y avait des cellules de la colonne A qui devenaient rouge, mais ça n'a pas de grande importance.

Désolé de répondre tardivement, j'imagine que vous avez déjà oublié de quoi il était question, mais je n'ai pas eu le temps de poster plus tôt.

Encore un grand merci à Gorfael qui a également réussi à me charmer par ses jeux de mots et ses cabrioles linguistiques 🙂


P.S: A tout hasard, dois-je passer le topic en Résolu ou autre ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
165
Réponses
4
Affichages
555
Retour