Autres Mise en couleur de cellules si précence d'un d'un commentaire précis sur la même ligne

Chrige

XLDnaute Occasionnel
Bonjour à tous
Je souhaiterais mettre en couleur des cellules suivant la présence ou pas d'un mot dans des commentaires sur la même ligne
J'ai essayé toute ma matinée, je viens donc à l'aide
Pour plus de clarté j'ai réalisé un petit exemple de mon fichier bien trop gros pour être posté.

Quelques explications :
Le mot recherché est en F1
Les cellules à mettre en vert (par exemple) sont ceux des colonnes C et D
Les cellules contenant les commentaires se trouve dans les colonnes J à V.

Je ce que je souhaite réalisé concrètement, c'est mettre en vert les cellules C4 et D4 si dans les cellules le mot placé en F1 se trouve dans les commentaires des cellules dans la plage J4 à V4, ceci à partir de la ligne 4 et jusqu'à la fin de mon fichier. Sinon mettre en gris C4 et D4.

Il faut que le mot recherché soit de préférence exactement le même. ex "jean" ne soit pas reconu dans "jeanjean"
Merci par avance
 

Pièces jointes

  • Fichier exemple.xlsm
    12.8 KB · Affichages: 19

sylvanu

XLDnaute Barbatruc
Supporter XLD
Oups, sorry.
Un nouvel essai avec une fonction perso VBA :
VB:
Function ReadComment(L%)
ReadComment = ""
For C = 10 To 22
    Nom = [F1]: Chaine = Cells(L, C).NoteText
    If Chaine <> "" And Chaine Like "*" & Nom & "*" = True Then
        ReadComment = 1
        Exit Function
    End If
Next C
End Function
Par contre nécessite en colonne C la formule "=ReadComment(LIGNE())"
Enfin je n'ai pas trouvé comment prendre en compte Jean et pas Jeanjean.
( sauf s'il y a toujours un espace après Jean, mais règle très contraignante )
Peut être un esprit plus futé pourra vous venir en aide.
 

Pièces jointes

  • Fichier exemple (V2).xlsm
    20.2 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Le mieux serait de passer par une macro, ce qui éviterais une fonction, car je me suis aperçu que si on rajoute un commentaire les calculs ne sont pas ré évalués, et il faut revalider les formules en C.
Mais passer par une macro veut dire un petit fichier test, tout du moins quelle(s) colonne(s) est remplie pour savoir sur quelle plage calculer.
 

Chrige

XLDnaute Occasionnel
La seule colonne de libre, c'est la colonne I, elle est cachée par manque de place
Sinon en fin de fichier il faut aller sur la colonne AR (Non visible)
Mon feuille à écran va de B à AL

J'avais déjà fait une fonction, que j'avais inégré dans une MFC, cela fonctionnait, mais le délai de traitement était catastrophique !!
C'est pour cela que je recherche par macro avec une boucle

Pour l'histoire de "jean" dans "jeanjean", je pense qu'il faut adjoindre un test sur le nombre de caractère
Mais cela complique la chose ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
@job, exact, j'ai du merder quelque part. Sorry.
@Chrige,
En PJ un essai. C'est automatique. La ré évaluation s'effectue à chaque clic sur cellule. La modif proposée par Job est implémentée donc Jean et JeanJaen sont différenciées.
J'utilise la colonne AD pour définir le nombre de lignes à traiter.
Dans votre PJ c'est rapide car le fichier est vide. quand il sera plein avec plein de lignes ça pourra peut être ramer. Dans ce cas on pourrait passer par un bouton pour lancer la macro quand besoin.
 

Pièces jointes

  • Fichier exemple (V3).xlsm
    21 KB · Affichages: 4

Chrige

XLDnaute Occasionnel
Bonsoir et merci Job75 pour cette participation et cette aide

Bonsoir Sylvanu
Merci pour tout ce travail

Mais je pense que cela va effectivement être très très long
Mon fichier fait plus de 2000 lignes et va grossir
En plus j'ai déjà un "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" dans cette feuille
Il est relativement complexe et cela va être difficile de joindre les 2 procédures.

Je n'ai pas besoin du tout d'un traitement permanent
En fait quand je travail sur une personne, j'active la cellule F1, cela me permet de mettre en couleur verte la police des nombres concernées (dont le commentaire lui correspond)
Mais pour plus de facilité, pour me permettre de mieux visualiser les lignes ou ces cellules sont situées
Je souhaiterais mettre les cellules des colonnes C et D en verte.

Je peux ainsi rester une heure sur une personne ou moins, mais je ne change pas toutes les 5 minutes
 

Discussions similaires

Réponses
2
Affichages
158

Statistiques des forums

Discussions
312 205
Messages
2 086 199
Membres
103 156
dernier inscrit
Ludo94130