Trouver les cellules qui contiennent un mot dans une colonne de texte

Bonjour,

je cherche toutes les cellules d'une colonne qui contiennent un mot spécifique. attention les cellules de la colonne contiennent des phrases de plusieurs mots.

exemple: trouver les cellules qui contiennent le mot 'POP" dans une colonne ou les cellules contiennent des phrases de ce type "BAG - 72FO HRT - N-1 POP ZAC RIXHEIM BPE1/BPE2"

merci

Bonjour Dale, bonjour le forum,

Un fichier exemple serait le bienvenu. Il nous permettrait de tester nos propositions... Sinon quelle est la colonne ?

bonjour

1) ça commence mal , car même dans ton "exemple" il n'y a pas de "POP"

2) pas de fichier joint , même pas une maquette représentative

cordialement

Ps ; n'envoie pas photo , lache ton smartphone

Bonjour le fil, bonjour le forum,

Essaie ce code à adapter :

Sub ThauTheme()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim COL As Integer 'déclare la variable COL (COLonne)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)
Dim K As Integer 'déclare la variable K (incrément)
Dim TL() As Variant 'déclare la variable TL (Tableau des Lignes)
Dim PL As Range 'déclare la variable PL (PLage)

Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas()
COL = 1 'définit la colonne COL (à adapter 1à ton cas
DL = O.Cells(Application.Rows.Count, COL).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne COL de l'onglet O
TV = O.Range(O.Cells(1, COL), O.Cells(DL, COL)) 'définit la tableau des valeurs TV
For I = 1 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV
    If InStr(1, TV(I, 1), "POP", vbTextCompare) > 0 Then 'si la donnée ligne I colonne 1 de TV contient les lettres "POP"
        K = K + 1 'incrémente K
        ReDim Preserve TL(1 To K) 'redimensionne le tableau des lignes TL (K lignes)
        TL(K) = I 'récupère la ligne I dans TL
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
For I = 1 To UBound(TL, 1) 'boucle sur toutes les lignes I de TL
    'si la plage PL est vide, définit la plage PL comme la cellule ligne TL(I) colonne COL, sinon,
    'redéfinit la plage PL comme l'union de PL et de la cellule ligne TL(I) colonne COL
    If PL Is Nothing Then Set PL = O.Cells(TL(I), COL) Else Set PL = Application.Union(PL, O.Cells(TL(I), COL))
Next I 'prochaine ligne de la boucle
PL.Select 'sélectionne la plage PL
End Sub

Bonjour à tous,

Tout d'abord merci pour ces premiers éléments de réponse. je joins un fichier qui présente le problème.

je cherche pour chacun des mots présent dans la colonne A de la feuille 1 la somme des longueurs de la colonne C de la feuille TCD câble pour les cellule de la colonne A de cette même feuille.

si "Friedling" (feuille 1) trouver dans les cellules de la colonne A (feuille TCD) faire la somme des valeurs de la colonne C pour les cellules correspondantes. je trouve pas en utilisant les fonctions sommes si ou recherche, il me manque quelque chose, alors d'avance merci pour votre aide.

cordialement

7fo.xlsx (37.08 Ko)

recherche, somme si mais sans succès

bonjour

un essai avec une formule simple

cordialement

29dale.xlsx (38.72 Ko)

Parfait, merci Tulipe_4. peux tu m'expliquer la formule Decaler utiliser, merci.

pas si simple que ça;-)

Parfait, merci Tulipe_4. peux tu m'expliquer la formule Decaler utiliser, merci.

pas si simple que ça;-)

en réalité on ne décale rien , on deplace (ou pas)la positiond'une reférence (cel ou plage) soit d'un nb de lignes ou d'un nb de colonnes ou les 2 , on peut aussi la dilater d'un nb de lignes ou de colonnes ,

on transforme la référence A2 en plage en dilatant d'un nb de lignes obtenus par NB.SI(A:A;"><") parce que la colonne est du texte

pour tdccolb , on se contente de deplacer tdccola d'une colonne

la position des ; est capitale

Bonjour à tous,

On peut aussi faire avec SOMME.SI.ENS, sans DECALER :

=SOMME.SI.ENS('TCD Cable'!$B$2:$B$602;'TCD Cable'!$A$2:$A$602;"*"&A2&"*")

Cordialement

5dale.xlsx (39.09 Ko)

Bonjour à tous,

On peut aussi faire avec SOMME.SI.ENS, sans DECALER :

=SOMME.SI.ENS('TCD Cable'!$B$2:$B$602;'TCD Cable'!$A$2:$A$602;"*"&A2&"*")

Cordialement

5dale.xlsx (39.09 Ko)

certes mais si le mot se trouve en tête de chaîne .................................

Re,

Ça marche quelle que soit la position du texte, début, milieu ou fin.

Cordialement

Bonjour à tous,

Merci pour toutes ces précieuses informations. effectivement l'une comme l'autre réponde a mon besoin. encore merci.

Rechercher des sujets similaires à "trouver qui contiennent mot colonne texte"