Recherche de mots

Résolu/Fermé
vbauserx - 25 juil. 2016 à 21:57
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 26 juil. 2016 à 07:53
Bonjour à tous,
Je suis en stage en tant que futur ingénieur en aéroport et j'ai un petit problème.
Je dois programmer une macro qui : dans une liste de mots, me resortir les aérodromes.
par exemple : sur une colone : voiture, chat, maison, NTTB, chien
je voudrais que ma macro resorte (soit en couleur soit dans une autre feuille peu importe) le mot NTTB. Il y'a une 15aine d'aérodromes de ce genre.
En fait c'est pour filtrer des modification excel pour savoir quels aérodromes sont affectés.
Je suis un peu fragile en VBA donc ...

Merci.
cordialement

4 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
Modifié par ThauTheme le 25/07/2016 à 23:25
Bonsoir Vbauserx, bonsoir le forum,

C'est pas très clair tout ça ! Je doute que tu obtiennes des réponses Monsieur le futur ingénieur en aéroports... Ça m'a plu ce nom tiens ! Doré de l'avant je vais me faire appeler "Futur Ingénieur de Poland Ploie" !... Oui c'est en Pologne...

À plus,
ThauTheme
0
ThauTheme, ou Totem,
Je vais essayer d'être plus clair. J'ai un texte que je passe sous excel (il me le transcrit en une colone de 20 lignes, bref) et j'ai une liste de mots que je dois facilement repérer dans ce texte.
J'aimerais faire une macro qui, lorsque l'un des mots de la liste est dans le texte, il m'avertisse.
Est-ce plus clair ?
C'est simplement réperer plus vite si un mot est dans le texte ou non. Sauf que le simplement en prog pour moi c'est pas si simple...

Merci. cdt,
vbauserx
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
25 juil. 2016 à 23:25
Re,

Toujours pas assez clair :
dans quel onglet se trouve le texte transposé ?
Quelle est la colonne de cet onglet?
Où se trouve la liste ? quel onglet ? Quelle colonne ?
0
Alors, dans la Feuil1 d'un tableau classique (désolé je suis, en plus, une quille sur excel) et le texte est sur la colone A (de A1 à A40) et ma liste est sur la même Feuil1 sur la colone B du coup. (la liste contient 20 aéroports et dans le texte sont mentionnés 6 aéroports, il faut que je sache lesquels parmis les 20)
Est-ce mieux ? Désolé j'ai du mal à m'exprimer mais je suis vraiment bloqué ... j'ai regardé les autres topics mais je n'arrive pas à adapter le code.

cdt,
VBAuserx
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
26 juil. 2016 à 00:05
Re,

Essaie comme ça :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DLA As Integer 'déclare la variable DLA (Dernière Ligne de la colonne A)
Dim DLB As Integer 'déclare la variable DLB (Dernière Ligne de la colonne B)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Integer 'déclare la variable J (incrément)

Set O = Sheets("Feuil1") 'définit l'onglet O
DLA = O.Range("A" & Application.Rows.Count).End(xlUp).Row 'définit la dernière ligne éditée de la colonne A, DLA, de l'onglet O
DLB = O.Range("B" & Application.Rows.Count).End(xlUp).Row 'définit la dernière ligne éditée de la colonne B, DLB, de l'onglet O
For I = 1 To DLA 'boucle 1 : sur tous les mot du texte transposé en colonne A
    For J = 1 To DLB 'boucle 2 : sur tous les mots de la liste en colonne B
        'condition : si le mot de la liste en ligne J colonne 2 (=B) est contenu dans le texte en ligne I colonne 1 (=A)
        If InStr(1, O.Cells(I, 1).Value, O.Cells(J, 2).Value, vbTextCompare) <> 0 Then
            O.Cells(I, 1).Interior.ColorIndex = 3 'colore le mot en colonne A de rouge
            Exit For 'sort de la boucle 2
        End If 'fin de la condition
    Next J 'prochain mot de la liste de la boucle 2
Next I 'prochain mot du texte transposé de la boucle 1
End Sub


un fichier exemple
0
Alors c'est parfait, en plus avec les commentaires je comprends bien la syntaxe merci beaucoup, cependant je voulais savoir comment colorer le mot plutôt que toute la cellule. Est-ce seulement possible ?

Merci beaucoup de ton aide en tous cas. Très apprécié, rapide et effficace.
0
Et aussi, là premier essai il me colorie tout en rouge.
J'ai 20 lignes dans la colone A, j'ai mit 1 mot en colone B. Ce mot est présent en ligne 12 mais la macro me colorie les 20 en rouge !

Merci, je sais pas pourquoi!
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
26 juil. 2016 à 07:53
Re,

Fait l'effort de mettre ton fichier en pièce jointe (ce que tu aurais dû faire depuis le début...), je ne suis pas devin !
0