XL 2019 Colorier un mot dans une phrase

dindin

XLDnaute Occasionnel
Bonjour
J'ai une BD qui contient plus de 280 000 lignes
Chaque lignes contient :
Colonne A : mot
Colonne B : phrase
Mon objectif c'est mettre le mot similaire de 2 colonnes en gras et en bleu.
La colonne A contient plus de 18000 mots différents .
Le mot qui se trouve dans la colonne B qui colorier en bleu et mis en gras et le reste de la phrase reste inchangé.
Pouvez vous m'aider svp.
Merci
 

patricktoulon

XLDnaute Barbatruc
re
aie!!aie!!
demo3.gif


quand je passe apres avec mon moulin html ca passe mais 1 sur 2 bizarre ce truc
 

dindin

XLDnaute Occasionnel
ma BD est à la base un document Word de 137 pages
il m'a fallu des semaines pour qu'il devienne une BD de plus de 6200 lignes.
cette BD je l'ai convertit en mot séparer et ensuite une seule colonne de mots
à la fin supprimer les doublons.
 

dindin

XLDnaute Occasionnel
oui comme il m'est impossible de travailler avec ça va être difficile de t'aider
pour moi il y a quelque chose de corrompu dans ce fichier et des que tu le passe sur un autre System ben ca déraille
bref continue avec perso j'abandonne je passe plus de temps a attendre que pour le reste

Ci joint ton fichier modifié voir les 2 onglets stp
j'espère que l'explication est claire pour toi
 

Pièces jointes

  • dindin- colorier mots- ver4.xlsm
    41.3 KB · Affichages: 8

Staple1600

XLDnaute Barbatruc
Re

patricktoulon
J'ai oublié de préciser que c'est en faisant le testB que j'ai vu rouge ;)
Sinon, petits soucis
VB:
Sub TestC()
[A1] = "=""abc""&ROW()": [B1] = "=REPT(RC[-1]&"" "",ROW())"
[A1:B5].FillDown
[A1:B5].Columns.AutoFit
[A1:B5].Borders.Weight = 2
Rouge
End Sub
1) adieu formules
2) adieu formats
Et apparemment si il n'y qu'une seule occurrence en colonne B alors pas de coloration.

NB: J'ai renommé ta macro Test en Rouge
 

patricktoulon

XLDnaute Barbatruc
re
1) adieu formules
tu a déjà vu des données obtenues par formules dans une cellules avec certains des des caractères du value en couleurs toi :rolleyes: ;)


2) adieu formats
ça ça se règle très facilement quasiment toutes les propriétés homologues existent en html

démonstration de mon convertisseur range to htmtable( sans passer par enregistrer sous et publier ) bien entendu

demo3.gif
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

patricktoulon
Je voulais juste dire (pour les novices en VBA)
Il serait prudent d'ajouter un test qui n’exécute pas la macro, si il y a des formules dans la plage copiée.
Ni plus, ni moins.
Pour le reste, je teste ton code et te fais part de mes observations.
Si tu préfères, je peux observer mes tests sans t'en faire part ;)

NB: [message#52] => Quel rapport avec la choucroute?
Ouvre un fil dans Ressources (comme tu l'as fait pour tes précédentes démos)
Sinon dindin ne va plus retrouver ses petits ;)
 

cd95

XLDnaute Occasionnel
Re @dindin :)

Il y a malheureusement un os. Comme on veut colorier des mots, j'ai considéré que les mots d'une phrases étaient séparé par des espaces et notamment la fin d'un mot est suivi d'un espace. ==> Ceci n'est pas toujours vrai. La fin d'un mot peut aussi être un signe de ponctuation.

La version v2 ci-jointe corrige ce point.

Pour s'en rendre compte, voyez la cellule B2:
  • La version v1 ne détecte pas le mot "sifflet"
  • La version v2 détecte le mot "sifflet"
Le temps d'exécution est rallongé :(.
Bonjour,
les versions v2 et v5 m'intéressent mais je ne sais pas comment faire pour chercher toute une phrase et non pas un seul mot. Pourriez-vous m'aider ? Merci
 

cd95

XLDnaute Occasionnel
Re @dindin :)

Il y a malheureusement un os. Comme on veut colorier des mots, j'ai considéré que les mots d'une phrases étaient séparé par des espaces et notamment la fin d'un mot est suivi d'un espace. ==> Ceci n'est pas toujours vrai. La fin d'un mot peut aussi être un signe de ponctuation.

La version v2 ci-jointe corrige ce point.

Pour s'en rendre compte, voyez la cellule B2:
  • La version v1 ne détecte pas le mot "sifflet"
  • La version v2 détecte le mot "sifflet"
Le temps d'exécution est rallongé :(.
Bonjour,

Votre code m'intéresse vraiment beaucoup mais je n'arrive pas à le modifier pour que je puisse chercher toute une phrase et non pas qu'un seul mot et recherche dans un InputBox au lieu d'une cellule. Pourriez-vous m'aider. Merci d'avance.
 

cd95

XLDnaute Occasionnel
Re @dindin :)

Il y a malheureusement un os. Comme on veut colorier des mots, j'ai considéré que les mots d'une phrases étaient séparé par des espaces et notamment la fin d'un mot est suivi d'un espace. ==> Ceci n'est pas toujours vrai. La fin d'un mot peut aussi être un signe de ponctuation.

La version v2 ci-jointe corrige ce point.

Pour s'en rendre compte, voyez la cellule B2:
  • La version v1 ne détecte pas le mot "sifflet"
  • La version v2 détecte le mot "sifflet"
Le temps d'exécution est rallongé :(.
Bonsoir,

Je suis vraiment intéressé par votre code (Version V2) mais malheureusement je n’arrive pas à l’adapter à mes besoins à savoir chercher un seul mot ou une chaîne. (dans votre code on peut chercher qu’un seul mot)

Exemple N°1 : Je veux chercher le mot : sifflet

Résultat N°1 =

Le cavalier et son cheval dont la queue est un sifflet, — et le long des cabarets, au pied des arbres, faites-en hommage aux enfants inconnus et pauvres que vous rencontrerez.



Exemple N°2 : Je veux chercher la phrase : Le cavalier et son cheval dont la queue est un sifflet

Résultat N°2 =

Le cavalier et son cheval dont la queue est un sifflet, — et le long des cabarets, au pied des arbres, faites-en hommage aux enfants inconnus et pauvres que vous rencontrerez.



Exemple N°3 : Je veux chercher le mot : et

Résultat N°3 =

Le cavalier et son cheval dont la queue est un sifflet, — et le long des cabarets, au pied des arbres, faites-en hommage aux enfants inconnus et pauvres que vous rencontrerez.
 

Pièces jointes

  • dindin- colorier mots- v2.xlsm
    31.3 KB · Affichages: 4

GALOUGALOU

XLDnaute Accro
bonjour cd95 bonjour le forum
je tombe sur votre post par hasard.
le sujet évolue, il me semble judicieux d'ouvrir une autre discussion
malgré tout pour répondre à votre problèmatique
"toute une phrase et non pas qu'un seul mot et recherche dans un InputBox "
je vous joins un classeur avec une solution proposée par patricktoulon sur un autre fil.
Enrichi (BBcode):
Sub test()
    Dim plage As Range, mot$, couleur As Long
    Set plage = [B1:B1200]
    mot = InputBox("tapez le(s) mot recherché(s)", "mot à colorier")
    If mot <> "" Then
        If Application.Dialogs(xlDialogEditColor).Show(2, 255, 0, 0) = True Then
            couleur = ActiveWorkbook.Colors(2)
        End If
        ActiveWorkbook.ResetColors
        'si tu debloque le true tu enleveles couleurs precedentes dans les autres mots
        rouletambourg plage, mot, couleur    ', True
    End If
End Sub
Sub rouletambourg(plage As Range, mot As String, Optional couleur As Long = vbRed, Optional razcouleur As Boolean = False)
    Dim cel As Range, i&
    If razcouleur Then plage.Font.Color = vbBlack
    For Each cel In plage.Cells
        If cel.Value <> "" Then
            If LCase(cel.Text) Like "*" & LCase(mot) & "*" Then
                For i = 1 To Len(cel.Value)
                    If Mid(LCase(cel.Value), i, Len(mot)) = LCase(mot) Then cel.Characters(i, Len(mot)).Font.Color = couleur
                Next
            End If
        End If
    Next
End Sub
cordialement
galougalou
 

Pièces jointes

  • Copie de dindin- colorier mots- v3.xlsm
    31.8 KB · Affichages: 8

cd95

XLDnaute Occasionnel
Bonsoir,

Je suis vraiment intéressé par votre code (Version V2) mais malheureusement je n’arrive pas à l’adapter à mes besoins à savoir chercher un seul mot ou une chaîne. (dans votre code on peut chercher qu’un seul mot)

Exemple N°1 : Je veux chercher le mot : sifflet

Résultat N°1 =

Le cavalier et son cheval dont la queue est un sifflet, — et le long des cabarets, au pied des arbres, faites-en hommage aux enfants inconnus et pauvres que vous rencontrerez.



Exemple N°2 : Je veux chercher la phrase : Le cavalier et son cheval dont la queue est un sifflet

Résultat N°2 =

Le cavalier et son cheval dont la queue est un sifflet, — et le long des cabarets, au pied des arbres, faites-en hommage aux enfants inconnus et pauvres que vous rencontrerez.



Exemple N°3 : Je veux chercher le mot : et

Résultat N°3 =

Le cavalier et son cheval dont la queue est un sifflet, — et le long des cabarets, au pied des arbres, faites-en hommage aux enfants inconnus et pauvres que vous rencontrerez.
Bonjour,

Merci pour votre intervention mais malheureusement ce n'est pas ce que je cherche exactement. C’est une recherche des mots isolés qui ne sont pas rattachés à une autre chaîne comme pour l’exemple N°3 si vous remarquiez bien on recherche le mot « et » alors que sifflet se termine avec un « et » mais il ne l’a pas pris en considération. Vous pouvez aussi voire tout en bas du nouveau forum : (XL 2016 : Décomposer une série de chaînes et colorier les doublons) pour savoir mes attentes envers ce logiciel. Merci
 

Discussions similaires

Réponses
10
Affichages
329

Statistiques des forums

Discussions
311 725
Messages
2 081 939
Membres
101 844
dernier inscrit
pktla