Cellules en surbrillance selon une TextBox

Fermé
Wyrgle Messages postés 4 Date d'inscription samedi 8 août 2015 Statut Membre Dernière intervention 23 juin 2016 - 23 juin 2016 à 01:08
jordane45 Messages postés 38176 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 mai 2024 - 23 juin 2016 à 01:25
Bonjour à tous,

Voici mon problème : j'ai une liste d'utilisateurs dans une TextBox. Chaque utilisateur est lié à plusieurs références listées sur la feuille 'Principal'.
Est-il possible de mettre en surbrillance (police en gras ou coloriage temporaire de la cellule) toutes les références liées à un utilisateur choisi dans la TextBox ?

Une copie d'écran pour me faire comprendre (enfin j'espère !)



Merci pour votre aide !
Wyrgle

1 réponse

jordane45 Messages postés 38176 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 mai 2024 4 667
23 juin 2016 à 01:25
Bonjour,

Je pense qu'en utilisant simplement une Mise en forme conditionnelle (en prenant : Formule) tu devrais pouvoir assez facilement faire ce que tu souhaites....
https://support.microsoft.com/fr-fr/office/appliquer-la-mise-en-forme-conditionnelle-pour-faire-ressortir-des-informations-fed60dfa-1d3f-4e13-9ecb-f1951ff89d7f?ui=fr-fr&rs=fr-fr&ad=fr
  • Il faudra peut être avant récupérer la valeur selectionnée dans ta listbox et la mettre dans une cellule (par exemple en A1) pour pouvoir ensuite l'utiliser dans la formule.


Sinon par macro,
il reste la possibilité d'utiliser la méthode FINDALL
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel#findall
  • Il faudra modifier un peu le code pour stocker pour chaque résultat la ligne (ce qui est déjà le cas) ET la colonne.

Un truc du genre
'redimensionnement du tableau
ReDim Preserve arMatches(1 To 2,1 to iArr)
'Ajout des informations
arMatches(0,iArr) = rFnd.Row ' ligne
arMatches(1,iArr) = rFnd.Column ' colonne

ou sinon utiliser directement l'adresse (au lieu de séparer ligne et colonne)
ReDim Preserve arMatches(iArr)
arMatches(iArr) = rFnd.Address ' sera de la forme $A$1 par exemple



Il ne te restera plus qu'à boucler sur l'array (contenant le liste des cellules correspondant à la valeur cherchée) à l'aide d'une boucle FOR pour appliquer la mise en forme souhaitée.

0