Déterminer une plage partielle dans une colonne

Bonjour à tous,

Comment puis-je déterminer une plage dans une colonne selon un mot donné.

Exemple :

Ad

Ad

Kr

Kr

Kr

Ml

Ml

J'ai essayé :

mot="Kr"
LimiteInf = Application.Match(mot, columns(4),0)
LimiteSup = Application.Match(mot, columns(4))
Set tPlage = range("E" & LimiteInf & ":E" & LimiteSup)

Résultat :

LimiteInf = 3

LimiteSup = 7

Or LimiteSup devra être égale à 5

Merci d'avance.

Bonjour,

si la colonne est trié,

LimiteInf = Application.Match(mot, Columns(4), 0)
LimiteSup = Application.Match(mot, Columns(4), 1)

Bonjoue SabV,

Ça donnera le même résultat :

LimiteSup = 7

c'est bien 5 que j'obtiens, voir sur ce fichier,

13amgue-test.xlsm (14.40 Ko)

Bonjour sabV,

Je crois qu'avec Application.Match, ça ne fonctionne pas à tous les coups :

Je crois qu'avec Application.Match, ça ne fonctionne pas à tous les coups :

c'est vrai , comme j'avais indiqué si la colonne est trié, j'aurais du aussi spécifier en ordre croissant

voici un autre exemple avec la colonne trié en ordre croissant ou décroissant

With Range("D2:D" & Cells(Rows.Count, "D").End(xlUp).Row)
   LimiteInf = Evaluate("Min(IF(" & .Address & "=""" & Mot & """,ROW(" & .Address & ")))")
   LimiteSup = Evaluate("Max(IF(" & .Address & "=""" & Mot & """,ROW(" & .Address & ")))")
End With

Bonjour sabV,

Merci infiniment, ça fonctionne.

Rechercher des sujets similaires à "determiner plage partielle colonne"