Colorer les cellules recherchées dans un classeur

Bonjour,

Je me permets de revenir vers vous avec un nouveau problème que je recherche en vain sur internet.

Dans mon tableau joint qui contient 3 feuilles, https://www.cjoint.com/c/MHguhph2Epu

je souhaiterais que : Exemple :

Lorsque clique sur Ctrl F et que j’écris par exemple ‘’Eric’’ il met la cellule trouvée en couleur,

puis

lorsque je clique sur suivant,

il retire la couleur de cette cellule

et lorsqu’il sélectionne la nouvelle cellule suivante il la met également en couleur etc.

Enfin, lorsque je clique sur fermer il retire la couleur

Merci par avance de votre réponse

Bien cordialement

PS : de préférence Ctrl F parce qu’il permet d’écrire lors d’une recherche sans perdre celle-ci

Bonjour

Ci-joint ma proposition
Celle-ci colore en jaune toute cellule sélectionnée soit avec la souris si elle n’est pas vide soit avec la procédure de recherche
L’adresse de cette cellule est intégrée en cellule « O1 » (on peut la changer pour une autre cellule)
Ainsi à la prochaine cellule sélectionnée la précédente citée en « O1 » est décolorée
Ces dispositions fonctionnent avec la procédure du bouton « Rechercher » de l’onglet « Feuil1 » ou l’action simultanée des touches « Ctrl+F » pour ce même onglet uniquement
Seule l’action de fermer la boîte de dialogue « Rechercher et remplacer » ne supprime pas la couleur de la dernière cellule sélectionnée par celle-ci
Pour arriver à cette état il suffit de sélectionner avec la souris n’importe quelle cellule vide
Donc action de fermer n’a aucun effet sélection d’une cellule vide enlève la dernière couleur intégrée de la dernière cellule sélectionnée

Difficile de faire mieux

Testes et dis moi

MHguhph2Epu_Répertoire.xlsm (21,3 Ko)

Bonjour,

Tout est déjà très bien

Seule petite chose, si je sélectionne ‘’Classeur’’ dans la boite de dialogue Ctrl F, le curseur se déplace dans les cellules des autres feuilles mais ne colore pas les cellules.

Tout le reste est nickel

Noueu lien avec le mot ‘’Gilles’’

https://www.cjoint.com/c/MHhjBiCMr3u

Merci pour ce retour
Ravi d’avoir répondu presque parfaitement à tes attentes

« Seule petite chose, si je sélectionne ‘’Classeur’’ dans la boite de dialogue Ctrl F, le curseur se déplace dans les cellules des autres feuilles mais ne colore pas les cellules. »

Je t’ai bien précisé dans ma réponse que seul l’onglet « Feuil1 » est concerné par le traitement de coloration des cellules sélectionnées

Mes propos sur le sujet :

« Ces dispositions fonctionnent avec la procédure du bouton « Rechercher » de l’onglet « Feuil1 » ou l’action simultanée des touches « Ctrl+F » pour ce même onglet uniquement »

Je peux l’étendre aux autres si tu le souhaites mais leurs cellules seront colorés à toute leur sélection y compris par la commande de la souris donc à l’utilisation de chaque onglet

A toi de me dire si c’est bien ton attente en plus de l’action de la procedure de recherche « Ctrl+F » ou bouton « Rechercher »

Ton classeur avec cette évolution à tester et me dire

MHguhph2Epu_Répertoire.xlsm (23,9 Ko)

Merci
Je n’avais pas tout compris, mais finalement la seconde version semble me convenir. Il suffit de fermer le Ctrl F pour que la souris ne colore plus les cellules.

Sans vouloir abuser, aurez-tu un bout de macro qui permet de déprotéger. Car dans mon fichier j’ai certaines feuilles qui bug car elles sont protégées en écritures.
Voir pour les reprotéger ensuite.

Dans certaines feuilles de e classeur, j’ai trouvé ça, Peux-tu me dire à quoi ça sert ?
Function MotDePasse(taille As Integer, minuscule As Boolean, majuscule As Boolean, chiffre As Boolean, special As Boolean)

Application.Volatile
                
Dim tirage As String, chaine As String, i As Integer
                
If minuscule Then tirage = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"
If majuscule Then tirage = tirage & "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
If chiffre Then tirage = tirage & "0123456789"
If special Then tirage = tirage & "&#{([-|_\@)]=}$*µ%,;:!?./§"
        
Randomize
                
For i = 1 To taille
    chaine = chaine & Mid(tirage, Int(Rnd() * Len(tirage)) + 1, 1)
Next
           
MotDePasse = chaine

End Function

" Il suffit de fermer le Ctrl F pour que la souris ne colore plus les cellules."

Lorsque tu fermes Ctrl F les cellules si non vide se colorent à la sélection de celle-ci par la souris
Une cellule qui se colore car sélectionnée et non vide décolore la précédente sélectionnée et non vide déterminée en cellule « O1 » l’adresse de cette nouvelle colorée prend sa place ensuite dans cette dernière
Pour décolorer la précédente sans colorer la nouvelle sélectionnée il faut que cette dernière soit vide de toute donnée

Petite précision les recherches multifeuilles sont à effectuer à partir de l’onglet « Feuil1 »

" Sans vouloir abuser, aurez-tu un bout de macro qui permet de déprotéger. Car dans mon fichier j’ai certaines feuilles qui bug car elles sont protégées en écritures.
Voir pour les reprotéger ensuite."

Pour déprotéger une feuille utilises cette ligne de code :

Sheets(« nom de la feuille »).UnProtect (« mot de passe »)

Pour protéger une feuille utilises cette ligne de code :

Sheets(« nom de la feuille »).Protect (« mot de passe »)

Remplaces « nom de la feuille » par le nom de l’onglet concerné
Remplaces « mot de passe » par celui à utiliser si mot de passe il y a

« Dans certaines feuilles de e classeur, j’ai trouvé ça, Peux-tu me dire à quoi ça sert ? »

A établir un mot de passe aléatoire

Espérant avoir bien répondu à tes questions

N’oublies pas de valider ma proposition si elle te convient c’est plus sympathique
Merci

:+1::+1: Super

Merci pour tout
Bonne fin de journée

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.