Recherche et formatage auto d'un mot dans une cellule
Résolu/Fermé
brindeau
-
20 janv. 2014 à 11:07
dlt-pan Messages postés 481 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 23 décembre 2014 - 22 janv. 2014 à 07:37
dlt-pan Messages postés 481 Date d'inscription jeudi 17 mai 2007 Statut Membre Dernière intervention 23 décembre 2014 - 22 janv. 2014 à 07:37
A voir également:
- Recherche et formatage auto d'un mot dans une cellule
- Aller à la ligne dans une cellule excel - Guide
- Identifiant et mot de passe - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Excel cellule couleur si condition texte - Guide
- Mettre un mot de passe sur un dossier - Guide
12 réponses
dlt-pan
Messages postés
481
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
23 décembre 2014
67
Modifié par dlt-pan le 21/01/2014 à 08:33
Modifié par dlt-pan le 21/01/2014 à 08:33
bonjour
une petite macro a adapter a tes besoins
elle fait ce que tu demandes dans la colone D sur les lignes 1 a 40 :
pour la lancer doubleclic dans la cellule A1
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim mot, a, b As String
Dim l, lmot, deb, t As Integer
If ActiveCell.Address = "$A$1" Then
mot = InputBox("mot recherché")
lmot = Len(mot)
For i = 1 To 40
l = Len(Cells(i, 4))
For j = 1 To l
For k = 1 To lmot
If Left(mot, k) = Mid(Cells(i, 4), j, k) Then
t = t + 1
Else
t = 0
Exit For
End If
Next k
If t = lmot Then
deb = j
Cells(i, 4).Select
With ActiveCell.Characters(Start:=deb, Length:=lmot).Font
.Color = -16776961
End With
End If
Next j
Next i
End If
End Sub
Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.
une petite macro a adapter a tes besoins
elle fait ce que tu demandes dans la colone D sur les lignes 1 a 40 :
pour la lancer doubleclic dans la cellule A1
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim mot, a, b As String
Dim l, lmot, deb, t As Integer
If ActiveCell.Address = "$A$1" Then
mot = InputBox("mot recherché")
lmot = Len(mot)
For i = 1 To 40
l = Len(Cells(i, 4))
For j = 1 To l
For k = 1 To lmot
If Left(mot, k) = Mid(Cells(i, 4), j, k) Then
t = t + 1
Else
t = 0
Exit For
End If
Next k
If t = lmot Then
deb = j
Cells(i, 4).Select
With ActiveCell.Characters(Start:=deb, Length:=lmot).Font
.Color = -16776961
End With
End If
Next j
Next i
End If
End Sub
Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.
dlt-pan
Messages postés
481
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
23 décembre 2014
67
20 janv. 2014 à 11:56
20 janv. 2014 à 11:56
Bonjour
c'est possible en apliquant une mise en forme conditionnelle -> appliquer une mise en forme uniquement aux cellules qui contiennent :
texte specifique - contenant - *le mot recherché* et choisir le format
puis etendre cette MFC à toutes les cellules dans gerer la regle -> s'applique à
c'est possible en apliquant une mise en forme conditionnelle -> appliquer une mise en forme uniquement aux cellules qui contiennent :
texte specifique - contenant - *le mot recherché* et choisir le format
puis etendre cette MFC à toutes les cellules dans gerer la regle -> s'applique à
Bonjour,
merci pour votre reponse mais moi je ne veux mettre en avant que le mot dans la cellule, pas toute la cellule, c'est pour ca que je suis bloque ... :/
Merci !
merci pour votre reponse mais moi je ne veux mettre en avant que le mot dans la cellule, pas toute la cellule, c'est pour ca que je suis bloque ... :/
Merci !
Bonjour et merci beaucoup pour l'aide mais je n'arrive pas a la faire fonctionner ...
j ai pris des tutos sur le net mais j obtiens le message d erreur: "compile error : expected end sub".
comment dois je m y prendre ? merci d avance !
j ai pris des tutos sur le net mais j obtiens le message d erreur: "compile error : expected end sub".
comment dois je m y prendre ? merci d avance !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dlt-pan
Messages postés
481
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
23 décembre 2014
67
Modifié par dlt-pan le 21/01/2014 à 11:47
Modifié par dlt-pan le 21/01/2014 à 11:47
Bonjour
ouvir l'editeur VBA (alt+F11), double clic sur feuil1 sous l'arborescence VBAproject(non du fichier). Puis copie de toute la macro dans la fenetre a doite et ferme avec la croix rouge
tu peux ensuite lancer le prgm en doublecliquant sur la cellule A1.
Il faudra sans doute l'adapter a ton fichier car la recherche ne se fait que dans la colone D des lignes 1 a 40.
Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.
ouvir l'editeur VBA (alt+F11), double clic sur feuil1 sous l'arborescence VBAproject(non du fichier). Puis copie de toute la macro dans la fenetre a doite et ferme avec la croix rouge
tu peux ensuite lancer le prgm en doublecliquant sur la cellule A1.
Il faudra sans doute l'adapter a ton fichier car la recherche ne se fait que dans la colone D des lignes 1 a 40.
Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.
Merci beaucoup mais j ai beau faire ce que tu dis j arrive pas a la faire fonctionner ...
je te mets le fichier ici : http://cjoint.com/?DAvnABaUwL9
ci ca ne te derange d essayer, j ai essaye de parametrer la macro en cherchant et en mettant en valeur le mot "rye" dans la deuxieme et troisieme colonne ... sans succes !
Je te remercie beaucoup pour ton aide !
je te mets le fichier ici : http://cjoint.com/?DAvnABaUwL9
ci ca ne te derange d essayer, j ai essaye de parametrer la macro en cherchant et en mettant en valeur le mot "rye" dans la deuxieme et troisieme colonne ... sans succes !
Je te remercie beaucoup pour ton aide !
dlt-pan
Messages postés
481
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
23 décembre 2014
67
21 janv. 2014 à 14:06
21 janv. 2014 à 14:06
ok je regarde çà et je te reponds mais demain car je ne peut pas avant
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 21/01/2014 à 15:15
Modifié par michel_m le 21/01/2014 à 15:15
Bonjour,
Excusez l'incruste
recherche le mot "docteur" de B1 à B100 avec une macro paramétrée
Michel
Excusez l'incruste
recherche le mot "docteur" de B1 à B100 avec une macro paramétrée
Option Explicit
'-------------------------------------------------
Sub test()
Dim lig As Byte
Application.ScreenUpdating = False
For lig = 1 To 100
Colorier_mot "docteur", Cells(lig, "B")
Next
End Sub
'--------------------------------------------------
Sub Colorier_mot(mot, texte)
Dim longueur As Byte, debut As Byte
longueur = Len(mot)
If longueur > 0 Then
debut = InStr(1, texte, mot)
texte.Characters(debut, longueur).Font.ColorIndex = 3
End If
End Sub
Michel
dlt-pan
Messages postés
481
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
23 décembre 2014
67
21 janv. 2014 à 18:25
21 janv. 2014 à 18:25
bonjour Michel
ne t'excuse pas pour l'incruste. Il y a toujours moyen de faire mieux et çà me permet d'apprendre en même temps. Mais pour cette fois je suis resté sur mon code un peu rustique mais cà fonctionne...
ne t'excuse pas pour l'incruste. Il y a toujours moyen de faire mieux et çà me permet d'apprendre en même temps. Mais pour cette fois je suis resté sur mon code un peu rustique mais cà fonctionne...
dlt-pan
Messages postés
481
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
23 décembre 2014
67
Modifié par dlt-pan le 21/01/2014 à 18:26
Modifié par dlt-pan le 21/01/2014 à 18:26
bonsoir,
j'ai pu avoir un peu de temps
voici ton fichier
https://www.cjoint.com/?3Avsmp3GUnj
Quand tu doubleclic sur A1 (uniquement cette cellule), la macro recherche le mot que tu souhaites dans les colonnes A, B, et C sur toutes les lignes. elle ne tient pas compte des majuscules (pour avoir tout les mots).
Ils sont affichés en rouge et en gras. A la fin, tu as le nombre de mot trouvé.
Par contre j'ai remarqué que les hauteurs de lignes sont au maxi et il y a du texte non affiché tellement il y en a. il y a parfois des mots trouvés dans cette partie qui est caché.
vu la taille du fichier çà prend un peu de temps
en esperant avoir repondu a tes besoins.
pense a mettre en resolu si c'est ok
Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.
j'ai pu avoir un peu de temps
voici ton fichier
https://www.cjoint.com/?3Avsmp3GUnj
Quand tu doubleclic sur A1 (uniquement cette cellule), la macro recherche le mot que tu souhaites dans les colonnes A, B, et C sur toutes les lignes. elle ne tient pas compte des majuscules (pour avoir tout les mots).
Ils sont affichés en rouge et en gras. A la fin, tu as le nombre de mot trouvé.
Par contre j'ai remarqué que les hauteurs de lignes sont au maxi et il y a du texte non affiché tellement il y en a. il y a parfois des mots trouvés dans cette partie qui est caché.
vu la taille du fichier çà prend un peu de temps
en esperant avoir repondu a tes besoins.
pense a mettre en resolu si c'est ok
Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.
Merci à vous deux pour votre aide, effectivement ça fonctionne à merveille !!!
Merci beaucoup, je vais aller beaucoup plus vite dans la lecture du doc vu que le mot qui m'intéresse saute direct aux yeux !
Merci mille fois !
PS : je vois pas comment mettre résolu ... il faut avoir un compte enregistré pour pouvoir éditer le premier message non ?
Merci beaucoup, je vais aller beaucoup plus vite dans la lecture du doc vu que le mot qui m'intéresse saute direct aux yeux !
Merci mille fois !
PS : je vois pas comment mettre résolu ... il faut avoir un compte enregistré pour pouvoir éditer le premier message non ?
dlt-pan
Messages postés
481
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
23 décembre 2014
67
22 janv. 2014 à 07:37
22 janv. 2014 à 07:37
Bonjour
normalement, en dessous du titre et de ton pseudo, il y a suivre - marqué comme resolu. tu cliques simplement dessus
normalement, en dessous du titre et de ton pseudo, il y a suivre - marqué comme resolu. tu cliques simplement dessus