dis, laurent, tu es sûr de toi sur ce coup? t'aurais pas prolongé un peu
trop la sieste? tu veux peut-être aller rejoindre nicolas à 200 m sous
terre?
j'ai le sentiment que ça ne va pas forcément sur la première lettre du
mot....
me trompe-je?
jps
Laurent Daures wrote:Bonjour
ou bien
sur un seul bouton
Sub Rechercher()
x = (InputBox("entrez une ou plusieurs lettres"))
On Error Resume Next
[A:A].Find(x & "*").Activate
End Sub
amicalement
Sitting Hoax
"AV" a écrit dans le message de
news:[A:A].Find("a*").Activate
Pour b, changer a* par b*
AV
"gilles leroy" a écrit dans le message news:
08ad01c36591$6232b720$
je tri un tableau de 500 lignes par ordre aphabethique à
partir d'une colonne
je souhaite écrire une macro qui m'envoit sur la 1ère
ligne de nots commençant par "a" puis une autre , qui
m'envoit sur la première ligne commençant par "b"
et donc 26 macros identiques commandées chacune par un
bouton portant la lettre en question
si une bonne âme peut m'orienter qu'il en soit remercié
à+
dis, laurent, tu es sûr de toi sur ce coup? t'aurais pas prolongé un peu
trop la sieste? tu veux peut-être aller rejoindre nicolas à 200 m sous
terre?
j'ai le sentiment que ça ne va pas forcément sur la première lettre du
mot....
me trompe-je?
jps
Laurent Daures wrote:
Bonjour
ou bien
sur un seul bouton
Sub Rechercher()
x = (InputBox("entrez une ou plusieurs lettres"))
On Error Resume Next
[A:A].Find(x & "*").Activate
End Sub
amicalement
Sitting Hoax
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de
news:uoLFmHZZDHA.1748@TK2MSFTNGP12.phx.gbl...
[A:A].Find("a*").Activate
Pour b, changer a* par b*
AV
"gilles leroy" <gleroy@g-t.fr> a écrit dans le message news:
08ad01c36591$6232b720$a501280a@phx.gbl...
je tri un tableau de 500 lignes par ordre aphabethique à
partir d'une colonne
je souhaite écrire une macro qui m'envoit sur la 1ère
ligne de nots commençant par "a" puis une autre , qui
m'envoit sur la première ligne commençant par "b"
et donc 26 macros identiques commandées chacune par un
bouton portant la lettre en question
si une bonne âme peut m'orienter qu'il en soit remercié
à+
dis, laurent, tu es sûr de toi sur ce coup? t'aurais pas prolongé un peu
trop la sieste? tu veux peut-être aller rejoindre nicolas à 200 m sous
terre?
j'ai le sentiment que ça ne va pas forcément sur la première lettre du
mot....
me trompe-je?
jps
Laurent Daures wrote:Bonjour
ou bien
sur un seul bouton
Sub Rechercher()
x = (InputBox("entrez une ou plusieurs lettres"))
On Error Resume Next
[A:A].Find(x & "*").Activate
End Sub
amicalement
Sitting Hoax
"AV" a écrit dans le message de
news:[A:A].Find("a*").Activate
Pour b, changer a* par b*
AV
"gilles leroy" a écrit dans le message news:
08ad01c36591$6232b720$
je tri un tableau de 500 lignes par ordre aphabethique à
partir d'une colonne
je souhaite écrire une macro qui m'envoit sur la 1ère
ligne de nots commençant par "a" puis une autre , qui
m'envoit sur la première ligne commençant par "b"
et donc 26 macros identiques commandées chacune par un
bouton portant la lettre en question
si une bonne âme peut m'orienter qu'il en soit remercié
à+
Votre sagesse et votre prudence vous honore.
Votre sagesse et votre prudence vous honore.
Votre sagesse et votre prudence vous honore.
Honorable JPS,
Votre sagesse et votre prudence vous honorent.
Dépendant des configurations (et des recherches antérieures), si on ne fixe
pas le paramètre LookAt (de la méthode Find), celui-ci PEUT ne pas être égal
à xlWhole.
Donc, pour s'assurer d'une valeur explicite de xlWhole pour LookAt, il vaut
mieux :
Plage.Find("b*", LookAt:=xlWhole).Activate
Ceci étant dit, la méthode Find est assez rapide pour "A" ou "B" (dans une
longue liste triée) mais pour W, j'aime mieux les recherches binaires!
Plus de code, mais plus rapide :-)
Public Sub TrouveLaLettre()
Dim i As Integer, V(1 To 26) As Variant
For i = 1 To 26
V(i) = TrvPremLettre(Chr(i + 64), Range("E2:E30000")) ' à adapter
Next i
For i = 1 To 26
Debug.Print V(i)
Next i
End Sub
Public Function TrvPremLettre(Lettre As String, Plage As Range) As Long
Dim Res As Variant
Res = Application.Match(Lettre, Plage)
If IsError(Res) Then ' aucun mot < Lettre
Res = 0 ' 0 sauf si 1er mot commence par Lettre
If Left(Plage(1), 1) = Lettre Then Res = 1
ElseIf Left(Plage(Res), 1) <> Lettre Then
Res = Res + 1 ' suivant sauf s'il ne commence pas par lettre
If Left(Plage(Res), 1) <> Lettre Then Res = 0 ' not found
End If
TrvPremLettre = Res
End Function
Salutations,
Daniel M.
"sabatier" wrote in message
news:dis, laurent, tu es sûr de toi sur ce coup? t'aurais pas prolongé un peu
trop la sieste? tu veux peut-être aller rejoindre nicolas à 200 m sous
terre?
j'ai le sentiment que ça ne va pas forcément sur la première lettre du
mot....
me trompe-je?
jps
Laurent Daures wrote:Bonjour
ou bien
sur un seul bouton
Sub Rechercher()
x = (InputBox("entrez une ou plusieurs lettres"))
On Error Resume Next
[A:A].Find(x & "*").Activate
End Sub
amicalement
Sitting Hoax
"AV" a écrit dans le message de
news:[A:A].Find("a*").Activate
Pour b, changer a* par b*
AV
"gilles leroy" a écrit dans le message news:
08ad01c36591$6232b720$
je tri un tableau de 500 lignes par ordre aphabethique à
partir d'une colonne
je souhaite écrire une macro qui m'envoit sur la 1ère
ligne de nots commençant par "a" puis une autre , qui
m'envoit sur la première ligne commençant par "b"
et donc 26 macros identiques commandées chacune par un
bouton portant la lettre en question
si une bonne âme peut m'orienter qu'il en soit remercié
à+
Honorable JPS,
Votre sagesse et votre prudence vous honorent.
Dépendant des configurations (et des recherches antérieures), si on ne fixe
pas le paramètre LookAt (de la méthode Find), celui-ci PEUT ne pas être égal
à xlWhole.
Donc, pour s'assurer d'une valeur explicite de xlWhole pour LookAt, il vaut
mieux :
Plage.Find("b*", LookAt:=xlWhole).Activate
Ceci étant dit, la méthode Find est assez rapide pour "A" ou "B" (dans une
longue liste triée) mais pour W, j'aime mieux les recherches binaires!
Plus de code, mais plus rapide :-)
Public Sub TrouveLaLettre()
Dim i As Integer, V(1 To 26) As Variant
For i = 1 To 26
V(i) = TrvPremLettre(Chr(i + 64), Range("E2:E30000")) ' à adapter
Next i
For i = 1 To 26
Debug.Print V(i)
Next i
End Sub
Public Function TrvPremLettre(Lettre As String, Plage As Range) As Long
Dim Res As Variant
Res = Application.Match(Lettre, Plage)
If IsError(Res) Then ' aucun mot < Lettre
Res = 0 ' 0 sauf si 1er mot commence par Lettre
If Left(Plage(1), 1) = Lettre Then Res = 1
ElseIf Left(Plage(Res), 1) <> Lettre Then
Res = Res + 1 ' suivant sauf s'il ne commence pas par lettre
If Left(Plage(Res), 1) <> Lettre Then Res = 0 ' not found
End If
TrvPremLettre = Res
End Function
Salutations,
Daniel M.
"sabatier" <jpsabat@wanadoo.fr> wrote in message
news:3F40EE27.EB553011@wanadoo.fr...
dis, laurent, tu es sûr de toi sur ce coup? t'aurais pas prolongé un peu
trop la sieste? tu veux peut-être aller rejoindre nicolas à 200 m sous
terre?
j'ai le sentiment que ça ne va pas forcément sur la première lettre du
mot....
me trompe-je?
jps
Laurent Daures wrote:
Bonjour
ou bien
sur un seul bouton
Sub Rechercher()
x = (InputBox("entrez une ou plusieurs lettres"))
On Error Resume Next
[A:A].Find(x & "*").Activate
End Sub
amicalement
Sitting Hoax
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de
news:uoLFmHZZDHA.1748@TK2MSFTNGP12.phx.gbl...
[A:A].Find("a*").Activate
Pour b, changer a* par b*
AV
"gilles leroy" <gleroy@g-t.fr> a écrit dans le message news:
08ad01c36591$6232b720$a501280a@phx.gbl...
je tri un tableau de 500 lignes par ordre aphabethique à
partir d'une colonne
je souhaite écrire une macro qui m'envoit sur la 1ère
ligne de nots commençant par "a" puis une autre , qui
m'envoit sur la première ligne commençant par "b"
et donc 26 macros identiques commandées chacune par un
bouton portant la lettre en question
si une bonne âme peut m'orienter qu'il en soit remercié
à+
Honorable JPS,
Votre sagesse et votre prudence vous honorent.
Dépendant des configurations (et des recherches antérieures), si on ne fixe
pas le paramètre LookAt (de la méthode Find), celui-ci PEUT ne pas être égal
à xlWhole.
Donc, pour s'assurer d'une valeur explicite de xlWhole pour LookAt, il vaut
mieux :
Plage.Find("b*", LookAt:=xlWhole).Activate
Ceci étant dit, la méthode Find est assez rapide pour "A" ou "B" (dans une
longue liste triée) mais pour W, j'aime mieux les recherches binaires!
Plus de code, mais plus rapide :-)
Public Sub TrouveLaLettre()
Dim i As Integer, V(1 To 26) As Variant
For i = 1 To 26
V(i) = TrvPremLettre(Chr(i + 64), Range("E2:E30000")) ' à adapter
Next i
For i = 1 To 26
Debug.Print V(i)
Next i
End Sub
Public Function TrvPremLettre(Lettre As String, Plage As Range) As Long
Dim Res As Variant
Res = Application.Match(Lettre, Plage)
If IsError(Res) Then ' aucun mot < Lettre
Res = 0 ' 0 sauf si 1er mot commence par Lettre
If Left(Plage(1), 1) = Lettre Then Res = 1
ElseIf Left(Plage(Res), 1) <> Lettre Then
Res = Res + 1 ' suivant sauf s'il ne commence pas par lettre
If Left(Plage(Res), 1) <> Lettre Then Res = 0 ' not found
End If
TrvPremLettre = Res
End Function
Salutations,
Daniel M.
"sabatier" wrote in message
news:dis, laurent, tu es sûr de toi sur ce coup? t'aurais pas prolongé un peu
trop la sieste? tu veux peut-être aller rejoindre nicolas à 200 m sous
terre?
j'ai le sentiment que ça ne va pas forcément sur la première lettre du
mot....
me trompe-je?
jps
Laurent Daures wrote:Bonjour
ou bien
sur un seul bouton
Sub Rechercher()
x = (InputBox("entrez une ou plusieurs lettres"))
On Error Resume Next
[A:A].Find(x & "*").Activate
End Sub
amicalement
Sitting Hoax
"AV" a écrit dans le message de
news:[A:A].Find("a*").Activate
Pour b, changer a* par b*
AV
"gilles leroy" a écrit dans le message news:
08ad01c36591$6232b720$
je tri un tableau de 500 lignes par ordre aphabethique à
partir d'une colonne
je souhaite écrire une macro qui m'envoit sur la 1ère
ligne de nots commençant par "a" puis une autre , qui
m'envoit sur la première ligne commençant par "b"
et donc 26 macros identiques commandées chacune par un
bouton portant la lettre en question
si une bonne âme peut m'orienter qu'il en soit remercié
à+
Plus de code, mais plus rapide :-)
Plus de code, mais plus rapide :-)
Plus de code, mais plus rapide :-)
Salut Daniel,Plus de code, mais plus rapide :-)
Avec "plage" (A2:A65536) totalement remplie (de n'importe quoi) et "wagon-lit
avec 3 couchettes" en A65536
[Plage].Find("w*", LookAt:=2).Activate
me laisse pas le temps de respirer pour activer A65536
plus rapide ?
Humainement difficile à détecter ;-)
AV
Salut Daniel,
Plus de code, mais plus rapide :-)
Avec "plage" (A2:A65536) totalement remplie (de n'importe quoi) et "wagon-lit
avec 3 couchettes" en A65536
[Plage].Find("w*", LookAt:=2).Activate
me laisse pas le temps de respirer pour activer A65536
plus rapide ?
Humainement difficile à détecter ;-)
AV
Salut Daniel,Plus de code, mais plus rapide :-)
Avec "plage" (A2:A65536) totalement remplie (de n'importe quoi) et "wagon-lit
avec 3 couchettes" en A65536
[Plage].Find("w*", LookAt:=2).Activate
me laisse pas le temps de respirer pour activer A65536
plus rapide ?
Humainement difficile à détecter ;-)
AV
Humainement difficile à détecter ;-)
Humainement difficile à détecter ;-)
Humainement difficile à détecter ;-)
il ne prend pas la défense du marseillais, l'alain de millevaches, il ne
fait qu'en rectifier l'omission...
et puis, toi, l'autre beau scottisho-nordico-marseillais, tu sais très
bien que je ne supporte pas que tu viennes te mêler de la conversation
des grands...allez, ton petit seau, ta petite pelle, tes reste de panse
de brebis farcie dans ton petit sac pour quatre heures et repars jouer,
steplé...
jps
MacBob a écrit:Merci AV de prendre la défense d'un Marseillais.
Et le jps? Il dort le jps ou il récite son acte de contrition pour avoir
bavé sans motif sur un de mes congénères???
MacBob 8°)))
il ne prend pas la défense du marseillais, l'alain de millevaches, il ne
fait qu'en rectifier l'omission...
et puis, toi, l'autre beau scottisho-nordico-marseillais, tu sais très
bien que je ne supporte pas que tu viennes te mêler de la conversation
des grands...allez, ton petit seau, ta petite pelle, tes reste de panse
de brebis farcie dans ton petit sac pour quatre heures et repars jouer,
steplé...
jps
MacBob a écrit:
Merci AV de prendre la défense d'un Marseillais.
Et le jps? Il dort le jps ou il récite son acte de contrition pour avoir
bavé sans motif sur un de mes congénères???
MacBob 8°)))
il ne prend pas la défense du marseillais, l'alain de millevaches, il ne
fait qu'en rectifier l'omission...
et puis, toi, l'autre beau scottisho-nordico-marseillais, tu sais très
bien que je ne supporte pas que tu viennes te mêler de la conversation
des grands...allez, ton petit seau, ta petite pelle, tes reste de panse
de brebis farcie dans ton petit sac pour quatre heures et repars jouer,
steplé...
jps
MacBob a écrit:Merci AV de prendre la défense d'un Marseillais.
Et le jps? Il dort le jps ou il récite son acte de contrition pour avoir
bavé sans motif sur un de mes congénères???
MacBob 8°)))
Tudieu! Il a de beaux restes l'animal. Un peu plus de stéradent sur le
dentier et il mordrait même. Quant au haggis, il a vécu. Les millevaches
folles sont passées par là et la plupart de ses constituants sont maintenant
interdits d'emploi.
Je t'invite donc à un petit quatre heures autour d'un crumble et d'une tasse
de thé (avec ou sans nuage de lait tant que celui-ci n'est pas retiré de la
vente, prion la reine).
Amène ton seau et ta pelle. On fera un concours de château de sable...
MacBob 8°)))
Le 18/08/03 20:55, dans , « sabatier »il ne prend pas la défense du marseillais, l'alain de millevaches, il ne
fait qu'en rectifier l'omission...
et puis, toi, l'autre beau scottisho-nordico-marseillais, tu sais très
bien que je ne supporte pas que tu viennes te mêler de la conversation
des grands...allez, ton petit seau, ta petite pelle, tes reste de panse
de brebis farcie dans ton petit sac pour quatre heures et repars jouer,
steplé...
jps
MacBob a écrit:Merci AV de prendre la défense d'un Marseillais.
Et le jps? Il dort le jps ou il récite son acte de contrition pour avoir
bavé sans motif sur un de mes congénères???
MacBob 8°)))
Tudieu! Il a de beaux restes l'animal. Un peu plus de stéradent sur le
dentier et il mordrait même. Quant au haggis, il a vécu. Les millevaches
folles sont passées par là et la plupart de ses constituants sont maintenant
interdits d'emploi.
Je t'invite donc à un petit quatre heures autour d'un crumble et d'une tasse
de thé (avec ou sans nuage de lait tant que celui-ci n'est pas retiré de la
vente, prion la reine).
Amène ton seau et ta pelle. On fera un concours de château de sable...
MacBob 8°)))
Le 18/08/03 20:55, dans 3F412139.7060102@wanadoo.fr, « sabatier »
il ne prend pas la défense du marseillais, l'alain de millevaches, il ne
fait qu'en rectifier l'omission...
et puis, toi, l'autre beau scottisho-nordico-marseillais, tu sais très
bien que je ne supporte pas que tu viennes te mêler de la conversation
des grands...allez, ton petit seau, ta petite pelle, tes reste de panse
de brebis farcie dans ton petit sac pour quatre heures et repars jouer,
steplé...
jps
MacBob a écrit:
Merci AV de prendre la défense d'un Marseillais.
Et le jps? Il dort le jps ou il récite son acte de contrition pour avoir
bavé sans motif sur un de mes congénères???
MacBob 8°)))
Tudieu! Il a de beaux restes l'animal. Un peu plus de stéradent sur le
dentier et il mordrait même. Quant au haggis, il a vécu. Les millevaches
folles sont passées par là et la plupart de ses constituants sont maintenant
interdits d'emploi.
Je t'invite donc à un petit quatre heures autour d'un crumble et d'une tasse
de thé (avec ou sans nuage de lait tant que celui-ci n'est pas retiré de la
vente, prion la reine).
Amène ton seau et ta pelle. On fera un concours de château de sable...
MacBob 8°)))
Le 18/08/03 20:55, dans , « sabatier »il ne prend pas la défense du marseillais, l'alain de millevaches, il ne
fait qu'en rectifier l'omission...
et puis, toi, l'autre beau scottisho-nordico-marseillais, tu sais très
bien que je ne supporte pas que tu viennes te mêler de la conversation
des grands...allez, ton petit seau, ta petite pelle, tes reste de panse
de brebis farcie dans ton petit sac pour quatre heures et repars jouer,
steplé...
jps
MacBob a écrit:Merci AV de prendre la défense d'un Marseillais.
Et le jps? Il dort le jps ou il récite son acte de contrition pour avoir
bavé sans motif sur un de mes congénères???
MacBob 8°)))
ah! laurent, t'as entendu qu'est ce qu'il a dit le monsieur?
je me demande parfois si le courrier que tu distribue n'arrive pas en deux
fois
: d'abord l'enveloppe, ensuite la lettre...
merci daniel et heureusement que tu passais par là...
jps
"Daniel.M" wrote:Honorable JPS,
Votre sagesse et votre prudence vous honorent.
Dépendant des configurations (et des recherches antérieures), si on ne
fixe
pas le paramètre LookAt (de la méthode Find), celui-ci PEUT ne pas être
égal
à xlWhole.
Donc, pour s'assurer d'une valeur explicite de xlWhole pour LookAt, il
vaut
mieux :
Plage.Find("b*", LookAt:=xlWhole).Activate
Ceci étant dit, la méthode Find est assez rapide pour "A" ou "B" (dans
une
longue liste triée) mais pour W, j'aime mieux les recherches binaires!
Plus de code, mais plus rapide :-)
Public Sub TrouveLaLettre()
Dim i As Integer, V(1 To 26) As Variant
For i = 1 To 26
V(i) = TrvPremLettre(Chr(i + 64), Range("E2:E30000")) ' à adapter
Next i
For i = 1 To 26
Debug.Print V(i)
Next i
End Sub
Public Function TrvPremLettre(Lettre As String, Plage As Range) As Long
Dim Res As Variant
Res = Application.Match(Lettre, Plage)
If IsError(Res) Then ' aucun mot < Lettre
Res = 0 ' 0 sauf si 1er mot commence par Lettre
If Left(Plage(1), 1) = Lettre Then Res = 1
ElseIf Left(Plage(Res), 1) <> Lettre Then
Res = Res + 1 ' suivant sauf s'il ne commence pas par lettre
If Left(Plage(Res), 1) <> Lettre Then Res = 0 ' not found
End If
TrvPremLettre = Res
End Function
Salutations,
Daniel M.
"sabatier" wrote in message
news:dis, laurent, tu es sûr de toi sur ce coup? t'aurais pas prolongé un
peu
trop la sieste? tu veux peut-être aller rejoindre nicolas à 200 m sous
terre?
j'ai le sentiment que ça ne va pas forcément sur la première lettre du
mot....
me trompe-je?
jps
Laurent Daures wrote:Bonjour
ou bien
sur un seul bouton
Sub Rechercher()
x = (InputBox("entrez une ou plusieurs lettres"))
On Error Resume Next
[A:A].Find(x & "*").Activate
End Sub
amicalement
Sitting Hoax
"AV" a écrit dans le message de
news:[A:A].Find("a*").Activate
Pour b, changer a* par b*
AV
"gilles leroy" a écrit dans le message news:
08ad01c36591$6232b720$
je tri un tableau de 500 lignes par ordre aphabethique à
partir d'une colonne
je souhaite écrire une macro qui m'envoit sur la 1ère
ligne de nots commençant par "a" puis une autre , qui
m'envoit sur la première ligne commençant par "b"
et donc 26 macros identiques commandées chacune par un
bouton portant la lettre en question
si une bonne âme peut m'orienter qu'il en soit remercié
à+
ah! laurent, t'as entendu qu'est ce qu'il a dit le monsieur?
je me demande parfois si le courrier que tu distribue n'arrive pas en deux
fois
: d'abord l'enveloppe, ensuite la lettre...
merci daniel et heureusement que tu passais par là...
jps
"Daniel.M" wrote:
Honorable JPS,
Votre sagesse et votre prudence vous honorent.
Dépendant des configurations (et des recherches antérieures), si on ne
fixe
pas le paramètre LookAt (de la méthode Find), celui-ci PEUT ne pas être
égal
à xlWhole.
Donc, pour s'assurer d'une valeur explicite de xlWhole pour LookAt, il
vaut
mieux :
Plage.Find("b*", LookAt:=xlWhole).Activate
Ceci étant dit, la méthode Find est assez rapide pour "A" ou "B" (dans
une
longue liste triée) mais pour W, j'aime mieux les recherches binaires!
Plus de code, mais plus rapide :-)
Public Sub TrouveLaLettre()
Dim i As Integer, V(1 To 26) As Variant
For i = 1 To 26
V(i) = TrvPremLettre(Chr(i + 64), Range("E2:E30000")) ' à adapter
Next i
For i = 1 To 26
Debug.Print V(i)
Next i
End Sub
Public Function TrvPremLettre(Lettre As String, Plage As Range) As Long
Dim Res As Variant
Res = Application.Match(Lettre, Plage)
If IsError(Res) Then ' aucun mot < Lettre
Res = 0 ' 0 sauf si 1er mot commence par Lettre
If Left(Plage(1), 1) = Lettre Then Res = 1
ElseIf Left(Plage(Res), 1) <> Lettre Then
Res = Res + 1 ' suivant sauf s'il ne commence pas par lettre
If Left(Plage(Res), 1) <> Lettre Then Res = 0 ' not found
End If
TrvPremLettre = Res
End Function
Salutations,
Daniel M.
"sabatier" <jpsabat@wanadoo.fr> wrote in message
news:3F40EE27.EB553011@wanadoo.fr...
dis, laurent, tu es sûr de toi sur ce coup? t'aurais pas prolongé un
peu
trop la sieste? tu veux peut-être aller rejoindre nicolas à 200 m sous
terre?
j'ai le sentiment que ça ne va pas forcément sur la première lettre du
mot....
me trompe-je?
jps
Laurent Daures wrote:
Bonjour
ou bien
sur un seul bouton
Sub Rechercher()
x = (InputBox("entrez une ou plusieurs lettres"))
On Error Resume Next
[A:A].Find(x & "*").Activate
End Sub
amicalement
Sitting Hoax
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de
news:uoLFmHZZDHA.1748@TK2MSFTNGP12.phx.gbl...
[A:A].Find("a*").Activate
Pour b, changer a* par b*
AV
"gilles leroy" <gleroy@g-t.fr> a écrit dans le message news:
08ad01c36591$6232b720$a501280a@phx.gbl...
je tri un tableau de 500 lignes par ordre aphabethique à
partir d'une colonne
je souhaite écrire une macro qui m'envoit sur la 1ère
ligne de nots commençant par "a" puis une autre , qui
m'envoit sur la première ligne commençant par "b"
et donc 26 macros identiques commandées chacune par un
bouton portant la lettre en question
si une bonne âme peut m'orienter qu'il en soit remercié
à+
ah! laurent, t'as entendu qu'est ce qu'il a dit le monsieur?
je me demande parfois si le courrier que tu distribue n'arrive pas en deux
fois
: d'abord l'enveloppe, ensuite la lettre...
merci daniel et heureusement que tu passais par là...
jps
"Daniel.M" wrote:Honorable JPS,
Votre sagesse et votre prudence vous honorent.
Dépendant des configurations (et des recherches antérieures), si on ne
fixe
pas le paramètre LookAt (de la méthode Find), celui-ci PEUT ne pas être
égal
à xlWhole.
Donc, pour s'assurer d'une valeur explicite de xlWhole pour LookAt, il
vaut
mieux :
Plage.Find("b*", LookAt:=xlWhole).Activate
Ceci étant dit, la méthode Find est assez rapide pour "A" ou "B" (dans
une
longue liste triée) mais pour W, j'aime mieux les recherches binaires!
Plus de code, mais plus rapide :-)
Public Sub TrouveLaLettre()
Dim i As Integer, V(1 To 26) As Variant
For i = 1 To 26
V(i) = TrvPremLettre(Chr(i + 64), Range("E2:E30000")) ' à adapter
Next i
For i = 1 To 26
Debug.Print V(i)
Next i
End Sub
Public Function TrvPremLettre(Lettre As String, Plage As Range) As Long
Dim Res As Variant
Res = Application.Match(Lettre, Plage)
If IsError(Res) Then ' aucun mot < Lettre
Res = 0 ' 0 sauf si 1er mot commence par Lettre
If Left(Plage(1), 1) = Lettre Then Res = 1
ElseIf Left(Plage(Res), 1) <> Lettre Then
Res = Res + 1 ' suivant sauf s'il ne commence pas par lettre
If Left(Plage(Res), 1) <> Lettre Then Res = 0 ' not found
End If
TrvPremLettre = Res
End Function
Salutations,
Daniel M.
"sabatier" wrote in message
news:dis, laurent, tu es sûr de toi sur ce coup? t'aurais pas prolongé un
peu
trop la sieste? tu veux peut-être aller rejoindre nicolas à 200 m sous
terre?
j'ai le sentiment que ça ne va pas forcément sur la première lettre du
mot....
me trompe-je?
jps
Laurent Daures wrote:Bonjour
ou bien
sur un seul bouton
Sub Rechercher()
x = (InputBox("entrez une ou plusieurs lettres"))
On Error Resume Next
[A:A].Find(x & "*").Activate
End Sub
amicalement
Sitting Hoax
"AV" a écrit dans le message de
news:[A:A].Find("a*").Activate
Pour b, changer a* par b*
AV
"gilles leroy" a écrit dans le message news:
08ad01c36591$6232b720$
je tri un tableau de 500 lignes par ordre aphabethique à
partir d'une colonne
je souhaite écrire une macro qui m'envoit sur la 1ère
ligne de nots commençant par "a" puis une autre , qui
m'envoit sur la première ligne commençant par "b"
et donc 26 macros identiques commandées chacune par un
bouton portant la lettre en question
si une bonne âme peut m'orienter qu'il en soit remercié
à+