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