Dans une colonne je voudrais sélectionner non pas la première cellule
contenant le mot "sous-total" mais la seconde cellule contenant ce mot et
située plusieurs lignes plus bas. Je connais Find (qui cherche à partir du
haut du début d'une plage) mais je ne sais pas comment lui dire dans ce cas
précis.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
...non pas la première cellule contenant le mot "sous-total" mais la seconde cellule contenant ce mot
Si pas de cellules vides et plage à adapter : Sur 1 seule ligne : Range("a" & Evaluate("small(if(offset(a1:a20,,,,1)=" & """" & "sous-total" & """" & ",row(a1:a20)),2)")).Select
AV
...non pas la première cellule
contenant le mot "sous-total" mais la seconde cellule contenant ce mot
Si pas de cellules vides et plage à adapter :
Sur 1 seule ligne :
Range("a" & Evaluate("small(if(offset(a1:a20,,,,1)=" & """" & "sous-total" &
"""" & ",row(a1:a20)),2)")).Select
...non pas la première cellule contenant le mot "sous-total" mais la seconde cellule contenant ce mot
Si pas de cellules vides et plage à adapter : Sur 1 seule ligne : Range("a" & Evaluate("small(if(offset(a1:a20,,,,1)=" & """" & "sous-total" & """" & ",row(a1:a20)),2)")).Select
AV
khinoa
Bonjour AV,
Je te remercie mais ton code me paraît néanmoins assez compliqué à comprendre (small, if, offset c'est beaucoup pour moi!), j'ai entretemps trouvé ceci :
ligne = Columns("a").Find("Sous-total" & "*").Row
ligne = Range("a" & ligne & ":a" & Range("a65536").End(3).Row).Find("Sous-total" & "*").Row
Certes mon code nécessite une variable mais il m'est plus facilement compréhensible. Il existe Findnext mais je ne sait pas l'utiliser pour rechercher une seconde occurrence. Je précise que la plage de recherche est variable.
Peut-être toi ou quelqu'un aura une idée?
khinoa
"AV" a écrit dans le message de news:
...non pas la première cellule contenant le mot "sous-total" mais la seconde cellule contenant ce mot
Si pas de cellules vides et plage à adapter : Sur 1 seule ligne : Range("a" & Evaluate("small(if(offset(a1:a20,,,,1)=" & """" & "sous-total" &
"""" & ",row(a1:a20)),2)")).Select
AV
Bonjour AV,
Je te remercie mais ton code me paraît néanmoins assez compliqué à
comprendre (small, if, offset c'est beaucoup pour moi!), j'ai entretemps
trouvé ceci :
ligne = Columns("a").Find("Sous-total" & "*").Row
ligne = Range("a" & ligne & ":a" &
Range("a65536").End(3).Row).Find("Sous-total" & "*").Row
Certes mon code nécessite une variable mais il m'est plus facilement
compréhensible. Il existe Findnext mais je ne sait pas l'utiliser pour
rechercher une seconde occurrence. Je précise que la plage de recherche est
variable.
Peut-être toi ou quelqu'un aura une idée?
khinoa
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de
news:uMZ6bqtsEHA.3788@TK2MSFTNGP15.phx.gbl...
...non pas la première cellule
contenant le mot "sous-total" mais la seconde cellule contenant ce mot
Si pas de cellules vides et plage à adapter :
Sur 1 seule ligne :
Range("a" & Evaluate("small(if(offset(a1:a20,,,,1)=" & """" & "sous-total"
&
Je te remercie mais ton code me paraît néanmoins assez compliqué à comprendre (small, if, offset c'est beaucoup pour moi!), j'ai entretemps trouvé ceci :
ligne = Columns("a").Find("Sous-total" & "*").Row
ligne = Range("a" & ligne & ":a" & Range("a65536").End(3).Row).Find("Sous-total" & "*").Row
Certes mon code nécessite une variable mais il m'est plus facilement compréhensible. Il existe Findnext mais je ne sait pas l'utiliser pour rechercher une seconde occurrence. Je précise que la plage de recherche est variable.
Peut-être toi ou quelqu'un aura une idée?
khinoa
"AV" a écrit dans le message de news:
...non pas la première cellule contenant le mot "sous-total" mais la seconde cellule contenant ce mot
Si pas de cellules vides et plage à adapter : Sur 1 seule ligne : Range("a" & Evaluate("small(if(offset(a1:a20,,,,1)=" & """" & "sous-total" &
"""" & ",row(a1:a20)),2)")).Select
AV
docm
Bonjour khinoa.
Le code de AV est parfait.
Par contre ton code me semble impeccable. Il ne te reste qu'à y ajouter la gestion d'erreurs.
Amicalement.
"khinoa" wrote in message news:41700df3$0$29525$
Bonjour AV,
Je te remercie mais ton code me paraît néanmoins assez compliqué à comprendre (small, if, offset c'est beaucoup pour moi!), j'ai entretemps trouvé ceci :
ligne = Columns("a").Find("Sous-total" & "*").Row
ligne = Range("a" & ligne & ":a" & Range("a65536").End(3).Row).Find("Sous-total" & "*").Row
Certes mon code nécessite une variable mais il m'est plus facilement compréhensible. Il existe Findnext mais je ne sait pas l'utiliser pour rechercher une seconde occurrence. Je précise que la plage de recherche est
variable.
Peut-être toi ou quelqu'un aura une idée?
khinoa
"AV" a écrit dans le message de news:
...non pas la première cellule contenant le mot "sous-total" mais la seconde cellule contenant ce mot
Si pas de cellules vides et plage à adapter : Sur 1 seule ligne : Range("a" & Evaluate("small(if(offset(a1:a20,,,,1)=" & """" & "sous-total"
&
"""" & ",row(a1:a20)),2)")).Select
AV
Bonjour khinoa.
Le code de AV est parfait.
Par contre ton code me semble impeccable. Il ne te reste qu'à y ajouter la
gestion d'erreurs.
Amicalement.
"khinoa" <bidon@zozo.com> wrote in message
news:41700df3$0$29525$626a14ce@news.free.fr...
Bonjour AV,
Je te remercie mais ton code me paraît néanmoins assez compliqué à
comprendre (small, if, offset c'est beaucoup pour moi!), j'ai entretemps
trouvé ceci :
ligne = Columns("a").Find("Sous-total" & "*").Row
ligne = Range("a" & ligne & ":a" &
Range("a65536").End(3).Row).Find("Sous-total" & "*").Row
Certes mon code nécessite une variable mais il m'est plus facilement
compréhensible. Il existe Findnext mais je ne sait pas l'utiliser pour
rechercher une seconde occurrence. Je précise que la plage de recherche
est
variable.
Peut-être toi ou quelqu'un aura une idée?
khinoa
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de
news:uMZ6bqtsEHA.3788@TK2MSFTNGP15.phx.gbl...
...non pas la première cellule
contenant le mot "sous-total" mais la seconde cellule contenant ce mot
Si pas de cellules vides et plage à adapter :
Sur 1 seule ligne :
Range("a" & Evaluate("small(if(offset(a1:a20,,,,1)=" & """" &
"sous-total"
Par contre ton code me semble impeccable. Il ne te reste qu'à y ajouter la gestion d'erreurs.
Amicalement.
"khinoa" wrote in message news:41700df3$0$29525$
Bonjour AV,
Je te remercie mais ton code me paraît néanmoins assez compliqué à comprendre (small, if, offset c'est beaucoup pour moi!), j'ai entretemps trouvé ceci :
ligne = Columns("a").Find("Sous-total" & "*").Row
ligne = Range("a" & ligne & ":a" & Range("a65536").End(3).Row).Find("Sous-total" & "*").Row
Certes mon code nécessite une variable mais il m'est plus facilement compréhensible. Il existe Findnext mais je ne sait pas l'utiliser pour rechercher une seconde occurrence. Je précise que la plage de recherche est
variable.
Peut-être toi ou quelqu'un aura une idée?
khinoa
"AV" a écrit dans le message de news:
...non pas la première cellule contenant le mot "sous-total" mais la seconde cellule contenant ce mot
Si pas de cellules vides et plage à adapter : Sur 1 seule ligne : Range("a" & Evaluate("small(if(offset(a1:a20,,,,1)=" & """" & "sous-total"
&
"""" & ",row(a1:a20)),2)")).Select
AV
khinoa
Bonjour cocm,
AV est réputé pour sa science. Merci pour ton appréciation pour mon code néanmoins. Qu'entends-tu par gestion d'erreur? S'agit-il seulement d'une instruction On Error Resume Next ou bien une instruction disant si par trouvé "Sous-total" alors "Sous-total" absent de la liste.
Si tu pouvais me l'écrire, ce serait parfait, mais peut-être abuserais-je ?
A bientôt
khinoa
"docm" a écrit dans le message de news:
Bonjour khinoa.
Le code de AV est parfait.
Par contre ton code me semble impeccable. Il ne te reste qu'à y ajouter la gestion d'erreurs.
Amicalement.
Bonjour cocm,
AV est réputé pour sa science. Merci pour ton appréciation pour mon code
néanmoins. Qu'entends-tu par gestion d'erreur? S'agit-il seulement d'une
instruction On Error Resume Next ou bien une instruction disant si par
trouvé "Sous-total" alors "Sous-total" absent de la liste.
Si tu pouvais me l'écrire, ce serait parfait, mais peut-être abuserais-je ?
A bientôt
khinoa
"docm" <docmarti@spamcolba.net> a écrit dans le message de
news:Oaop63usEHA.2124@TK2MSFTNGP11.phx.gbl...
Bonjour khinoa.
Le code de AV est parfait.
Par contre ton code me semble impeccable. Il ne te reste qu'à y ajouter la
gestion d'erreurs.
AV est réputé pour sa science. Merci pour ton appréciation pour mon code néanmoins. Qu'entends-tu par gestion d'erreur? S'agit-il seulement d'une instruction On Error Resume Next ou bien une instruction disant si par trouvé "Sous-total" alors "Sous-total" absent de la liste.
Si tu pouvais me l'écrire, ce serait parfait, mais peut-être abuserais-je ?
A bientôt
khinoa
"docm" a écrit dans le message de news:
Bonjour khinoa.
Le code de AV est parfait.
Par contre ton code me semble impeccable. Il ne te reste qu'à y ajouter la gestion d'erreurs.
Amicalement.
AV
...Il existe Findnext mais je ne sait pas l'utiliser
Sub zzz() With Range("a1", [A65536].End(3)) c = .FindNext(.Find("Sous-total")).Address End With Range(c).Select End Sub
AV
...Il existe Findnext mais je ne sait pas l'utiliser
Sub zzz()
With Range("a1", [A65536].End(3))
c = .FindNext(.Find("Sous-total")).Address
End With
Range(c).Select
End Sub