Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue, dans
la
quelle, en entrant les premières lettres du nom de l'article j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue, dans
la
quelle, en entrant les premières lettres du nom de l'article j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue, dans
la
quelle, en entrant les premières lettres du nom de l'article j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue, dans
la
quelle, en entrant les premières lettres du nom de l'article j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue, dans
la
quelle, en entrant les premières lettres du nom de l'article j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue, dans
la
quelle, en entrant les premières lettres du nom de l'article j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonsoir Mike,
En utilisant la cellule A1 comme zone de texte pour la recherche, un
tableau
est rempli avec la référence des cellules correspondant au critère de
recherche. Installe un bouton issus de la barre d'outils "Formulaires" et
affecte lui la macro "Selectionner" (elle sera précédée du nom de la
feuille
où elle se trouve) après la recherche, tu cliques sur le bouton pour
selectionner les cellules les unes après les autres. La recheche est
effectuée une fois la valeur en A1 validée (touche Entrée, tabulation,
etc.).
A mettre dans le module de ta feuille :
Dim TblCel() As Range '(doit être en tête de module)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
Dim I As Integer
Dim Adresse As String
'vide le tableau
Erase TblCel
'si A1
If Not Intersect(Target, [A1]) Is Nothing Then
'plage de recherche en colonne A
'à partir de A3
Set Plage = Range([A3], [A65536].End(3))
'la recherche est faite à partir
'des premiers caractères
Set Cel = Plage.Find([A1] & "*", [A3], xlValues)
If Not Cel Is Nothing Then
Adresse = Cel.Address
Do
'stocke la référence de la cellule
'dans le tableau
I = I + 1
ReDim Preserve TblCel(1 To I)
Set TblCel(I) = Cel
Set Cel = Plage.FindNext(Cel)
Loop While Adresse <> Cel.Address
Else
MsgBox "Mot non trouvé !"
End If
End If
Set Cel = Nothing
Set Plage = Nothing
End Sub
Sub Selectionner()
Static J As Integer
'évite l'erreur du tableau
'non initialisé
On Error Resume Next
If J >= UBound(TblCel) Then J = 0
J = J + 1
TblCel(J).Select
End Sub
Hervé.
"MIKE" a écrit dans le message news:
42ca9daa$0$25013$Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue,
dans
laquelle, en entrant les premières lettres du nom de l'article
j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonsoir Mike,
En utilisant la cellule A1 comme zone de texte pour la recherche, un
tableau
est rempli avec la référence des cellules correspondant au critère de
recherche. Installe un bouton issus de la barre d'outils "Formulaires" et
affecte lui la macro "Selectionner" (elle sera précédée du nom de la
feuille
où elle se trouve) après la recherche, tu cliques sur le bouton pour
selectionner les cellules les unes après les autres. La recheche est
effectuée une fois la valeur en A1 validée (touche Entrée, tabulation,
etc.).
A mettre dans le module de ta feuille :
Dim TblCel() As Range '(doit être en tête de module)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
Dim I As Integer
Dim Adresse As String
'vide le tableau
Erase TblCel
'si A1
If Not Intersect(Target, [A1]) Is Nothing Then
'plage de recherche en colonne A
'à partir de A3
Set Plage = Range([A3], [A65536].End(3))
'la recherche est faite à partir
'des premiers caractères
Set Cel = Plage.Find([A1] & "*", [A3], xlValues)
If Not Cel Is Nothing Then
Adresse = Cel.Address
Do
'stocke la référence de la cellule
'dans le tableau
I = I + 1
ReDim Preserve TblCel(1 To I)
Set TblCel(I) = Cel
Set Cel = Plage.FindNext(Cel)
Loop While Adresse <> Cel.Address
Else
MsgBox "Mot non trouvé !"
End If
End If
Set Cel = Nothing
Set Plage = Nothing
End Sub
Sub Selectionner()
Static J As Integer
'évite l'erreur du tableau
'non initialisé
On Error Resume Next
If J >= UBound(TblCel) Then J = 0
J = J + 1
TblCel(J).Select
End Sub
Hervé.
"MIKE" <renautm@free.fr> a écrit dans le message news:
42ca9daa$0$25013$626a14ce@news.free.fr...
Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue,
dans
la
quelle, en entrant les premières lettres du nom de l'article
j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonsoir Mike,
En utilisant la cellule A1 comme zone de texte pour la recherche, un
tableau
est rempli avec la référence des cellules correspondant au critère de
recherche. Installe un bouton issus de la barre d'outils "Formulaires" et
affecte lui la macro "Selectionner" (elle sera précédée du nom de la
feuille
où elle se trouve) après la recherche, tu cliques sur le bouton pour
selectionner les cellules les unes après les autres. La recheche est
effectuée une fois la valeur en A1 validée (touche Entrée, tabulation,
etc.).
A mettre dans le module de ta feuille :
Dim TblCel() As Range '(doit être en tête de module)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
Dim I As Integer
Dim Adresse As String
'vide le tableau
Erase TblCel
'si A1
If Not Intersect(Target, [A1]) Is Nothing Then
'plage de recherche en colonne A
'à partir de A3
Set Plage = Range([A3], [A65536].End(3))
'la recherche est faite à partir
'des premiers caractères
Set Cel = Plage.Find([A1] & "*", [A3], xlValues)
If Not Cel Is Nothing Then
Adresse = Cel.Address
Do
'stocke la référence de la cellule
'dans le tableau
I = I + 1
ReDim Preserve TblCel(1 To I)
Set TblCel(I) = Cel
Set Cel = Plage.FindNext(Cel)
Loop While Adresse <> Cel.Address
Else
MsgBox "Mot non trouvé !"
End If
End If
Set Cel = Nothing
Set Plage = Nothing
End Sub
Sub Selectionner()
Static J As Integer
'évite l'erreur du tableau
'non initialisé
On Error Resume Next
If J >= UBound(TblCel) Then J = 0
J = J + 1
TblCel(J).Select
End Sub
Hervé.
"MIKE" a écrit dans le message news:
42ca9daa$0$25013$Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue,
dans
laquelle, en entrant les premières lettres du nom de l'article
j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonjour Mike
Tes articles sont-ils dans l'ordre alphabétique ou en désordre ?
Y a t-il des vides, des doublons dans la listes ?
Stéphane
"MIKE" a écrit dans le message de news:
42ca9daa$0$25013$Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue, dans
la
quelle, en entrant les premières lettres du nom de l'article j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonjour Mike
Tes articles sont-ils dans l'ordre alphabétique ou en désordre ?
Y a t-il des vides, des doublons dans la listes ?
Stéphane
"MIKE" <renautm@free.fr> a écrit dans le message de news:
42ca9daa$0$25013$626a14ce@news.free.fr...
Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue, dans
la
quelle, en entrant les premières lettres du nom de l'article j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonjour Mike
Tes articles sont-ils dans l'ordre alphabétique ou en désordre ?
Y a t-il des vides, des doublons dans la listes ?
Stéphane
"MIKE" a écrit dans le message de news:
42ca9daa$0$25013$Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue, dans
la
quelle, en entrant les premières lettres du nom de l'article j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Petite précision,
En mettant ton bouton à coté de A1, tu peux figer les volets. Tu
dimensionnes la ligne 1 à ton bouton, ou le contraire, tu sélectionne A2
et
puis Fenêtres|Figer les volets. De ctte façon, quand les cellules du bas
de
ta liste seront sélectionnées ton bouton sera toujours visible.
Hervé.
"Hervé" a écrit dans le message news:Bonsoir Mike,
En utilisant la cellule A1 comme zone de texte pour la recherche, un
tableauest rempli avec la référence des cellules correspondant au critère de
recherche. Installe un bouton issus de la barre d'outils "Formulaires" et
affecte lui la macro "Selectionner" (elle sera précédée du nom de la
feuilleoù elle se trouve) après la recherche, tu cliques sur le bouton pour
selectionner les cellules les unes après les autres. La recheche est
effectuée une fois la valeur en A1 validée (touche Entrée, tabulation,
etc.).
A mettre dans le module de ta feuille :
Dim TblCel() As Range '(doit être en tête de module)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
Dim I As Integer
Dim Adresse As String
'vide le tableau
Erase TblCel
'si A1
If Not Intersect(Target, [A1]) Is Nothing Then
'plage de recherche en colonne A
'à partir de A3
Set Plage = Range([A3], [A65536].End(3))
'la recherche est faite à partir
'des premiers caractères
Set Cel = Plage.Find([A1] & "*", [A3], xlValues)
If Not Cel Is Nothing Then
Adresse = Cel.Address
Do
'stocke la référence de la cellule
'dans le tableau
I = I + 1
ReDim Preserve TblCel(1 To I)
Set TblCel(I) = Cel
Set Cel = Plage.FindNext(Cel)
Loop While Adresse <> Cel.Address
Else
MsgBox "Mot non trouvé !"
End If
End If
Set Cel = Nothing
Set Plage = Nothing
End Sub
Sub Selectionner()
Static J As Integer
'évite l'erreur du tableau
'non initialisé
On Error Resume Next
If J >= UBound(TblCel) Then J = 0
J = J + 1
TblCel(J).Select
End Sub
Hervé.
"MIKE" a écrit dans le message news:
42ca9daa$0$25013$Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
fairedérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue,
danslaquelle, en entrant les premières lettres du nom de l'article
j'obtiendrail'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Petite précision,
En mettant ton bouton à coté de A1, tu peux figer les volets. Tu
dimensionnes la ligne 1 à ton bouton, ou le contraire, tu sélectionne A2
et
puis Fenêtres|Figer les volets. De ctte façon, quand les cellules du bas
de
ta liste seront sélectionnées ton bouton sera toujours visible.
Hervé.
"Hervé" <hmsilve@wanadoo.fr> a écrit dans le message news:
uWT3WjXgFHA.3460@TK2MSFTNGP10.phx.gbl...
Bonsoir Mike,
En utilisant la cellule A1 comme zone de texte pour la recherche, un
tableau
est rempli avec la référence des cellules correspondant au critère de
recherche. Installe un bouton issus de la barre d'outils "Formulaires" et
affecte lui la macro "Selectionner" (elle sera précédée du nom de la
feuille
où elle se trouve) après la recherche, tu cliques sur le bouton pour
selectionner les cellules les unes après les autres. La recheche est
effectuée une fois la valeur en A1 validée (touche Entrée, tabulation,
etc.).
A mettre dans le module de ta feuille :
Dim TblCel() As Range '(doit être en tête de module)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
Dim I As Integer
Dim Adresse As String
'vide le tableau
Erase TblCel
'si A1
If Not Intersect(Target, [A1]) Is Nothing Then
'plage de recherche en colonne A
'à partir de A3
Set Plage = Range([A3], [A65536].End(3))
'la recherche est faite à partir
'des premiers caractères
Set Cel = Plage.Find([A1] & "*", [A3], xlValues)
If Not Cel Is Nothing Then
Adresse = Cel.Address
Do
'stocke la référence de la cellule
'dans le tableau
I = I + 1
ReDim Preserve TblCel(1 To I)
Set TblCel(I) = Cel
Set Cel = Plage.FindNext(Cel)
Loop While Adresse <> Cel.Address
Else
MsgBox "Mot non trouvé !"
End If
End If
Set Cel = Nothing
Set Plage = Nothing
End Sub
Sub Selectionner()
Static J As Integer
'évite l'erreur du tableau
'non initialisé
On Error Resume Next
If J >= UBound(TblCel) Then J = 0
J = J + 1
TblCel(J).Select
End Sub
Hervé.
"MIKE" <renautm@free.fr> a écrit dans le message news:
42ca9daa$0$25013$626a14ce@news.free.fr...
Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue,
dans
la
quelle, en entrant les premières lettres du nom de l'article
j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Petite précision,
En mettant ton bouton à coté de A1, tu peux figer les volets. Tu
dimensionnes la ligne 1 à ton bouton, ou le contraire, tu sélectionne A2
et
puis Fenêtres|Figer les volets. De ctte façon, quand les cellules du bas
de
ta liste seront sélectionnées ton bouton sera toujours visible.
Hervé.
"Hervé" a écrit dans le message news:Bonsoir Mike,
En utilisant la cellule A1 comme zone de texte pour la recherche, un
tableauest rempli avec la référence des cellules correspondant au critère de
recherche. Installe un bouton issus de la barre d'outils "Formulaires" et
affecte lui la macro "Selectionner" (elle sera précédée du nom de la
feuilleoù elle se trouve) après la recherche, tu cliques sur le bouton pour
selectionner les cellules les unes après les autres. La recheche est
effectuée une fois la valeur en A1 validée (touche Entrée, tabulation,
etc.).
A mettre dans le module de ta feuille :
Dim TblCel() As Range '(doit être en tête de module)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
Dim I As Integer
Dim Adresse As String
'vide le tableau
Erase TblCel
'si A1
If Not Intersect(Target, [A1]) Is Nothing Then
'plage de recherche en colonne A
'à partir de A3
Set Plage = Range([A3], [A65536].End(3))
'la recherche est faite à partir
'des premiers caractères
Set Cel = Plage.Find([A1] & "*", [A3], xlValues)
If Not Cel Is Nothing Then
Adresse = Cel.Address
Do
'stocke la référence de la cellule
'dans le tableau
I = I + 1
ReDim Preserve TblCel(1 To I)
Set TblCel(I) = Cel
Set Cel = Plage.FindNext(Cel)
Loop While Adresse <> Cel.Address
Else
MsgBox "Mot non trouvé !"
End If
End If
Set Cel = Nothing
Set Plage = Nothing
End Sub
Sub Selectionner()
Static J As Integer
'évite l'erreur du tableau
'non initialisé
On Error Resume Next
If J >= UBound(TblCel) Then J = 0
J = J + 1
TblCel(J).Select
End Sub
Hervé.
"MIKE" a écrit dans le message news:
42ca9daa$0$25013$Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
fairedérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue,
danslaquelle, en entrant les premières lettres du nom de l'article
j'obtiendrail'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonjour Stéphane
Merci de regarder mon problème
Mes articles sont dans l'ordre alpha, il n'y a pas de vides
Slts
Mike
"SL" a écrit dans le message de news:Bonjour Mike
Tes articles sont-ils dans l'ordre alphabétique ou en désordre ?
Y a t-il des vides, des doublons dans la listes ?
Stéphane
"MIKE" a écrit dans le message de news:
42ca9daa$0$25013$Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue,
dans la
quelle, en entrant les premières lettres du nom de l'article
j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonjour Stéphane
Merci de regarder mon problème
Mes articles sont dans l'ordre alpha, il n'y a pas de vides
Slts
Mike
"SL" <nospam_sl69@laposte.fr> a écrit dans le message de news:
e9TXJYXgFHA.2548@TK2MSFTNGP10.phx.gbl...
Bonjour Mike
Tes articles sont-ils dans l'ordre alphabétique ou en désordre ?
Y a t-il des vides, des doublons dans la listes ?
Stéphane
"MIKE" <renautm@free.fr> a écrit dans le message de news:
42ca9daa$0$25013$626a14ce@news.free.fr...
Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue,
dans la
quelle, en entrant les premières lettres du nom de l'article
j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonjour Stéphane
Merci de regarder mon problème
Mes articles sont dans l'ordre alpha, il n'y a pas de vides
Slts
Mike
"SL" a écrit dans le message de news:Bonjour Mike
Tes articles sont-ils dans l'ordre alphabétique ou en désordre ?
Y a t-il des vides, des doublons dans la listes ?
Stéphane
"MIKE" a écrit dans le message de news:
42ca9daa$0$25013$Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue,
dans la
quelle, en entrant les premières lettres du nom de l'article
j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonsoir Mike,
En utilisant la cellule A1 comme zone de texte pour la recherche, un
tableau
est rempli avec la référence des cellules correspondant au critère de
recherche. Installe un bouton issus de la barre d'outils "Formulaires" et
affecte lui la macro "Selectionner" (elle sera précédée du nom de la
feuille
où elle se trouve) après la recherche, tu cliques sur le bouton pour
selectionner les cellules les unes après les autres. La recheche est
effectuée une fois la valeur en A1 validée (touche Entrée, tabulation,
etc.).
A mettre dans le module de ta feuille :
Dim TblCel() As Range '(doit être en tête de module)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
Dim I As Integer
Dim Adresse As String
'vide le tableau
Erase TblCel
'si A1
If Not Intersect(Target, [A1]) Is Nothing Then
'plage de recherche en colonne A
'à partir de A3
Set Plage = Range([A3], [A65536].End(3))
'la recherche est faite à partir
'des premiers caractères
Set Cel = Plage.Find([A1] & "*", [A3], xlValues)
If Not Cel Is Nothing Then
Adresse = Cel.Address
Do
'stocke la référence de la cellule
'dans le tableau
I = I + 1
ReDim Preserve TblCel(1 To I)
Set TblCel(I) = Cel
Set Cel = Plage.FindNext(Cel)
Loop While Adresse <> Cel.Address
Else
MsgBox "Mot non trouvé !"
End If
End If
Set Cel = Nothing
Set Plage = Nothing
End Sub
Sub Selectionner()
Static J As Integer
'évite l'erreur du tableau
'non initialisé
On Error Resume Next
If J >= UBound(TblCel) Then J = 0
J = J + 1
TblCel(J).Select
End Sub
Hervé.
"MIKE" a écrit dans le message news:
42ca9daa$0$25013$Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue, dans
laquelle, en entrant les premières lettres du nom de l'article j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonsoir Mike,
En utilisant la cellule A1 comme zone de texte pour la recherche, un
tableau
est rempli avec la référence des cellules correspondant au critère de
recherche. Installe un bouton issus de la barre d'outils "Formulaires" et
affecte lui la macro "Selectionner" (elle sera précédée du nom de la
feuille
où elle se trouve) après la recherche, tu cliques sur le bouton pour
selectionner les cellules les unes après les autres. La recheche est
effectuée une fois la valeur en A1 validée (touche Entrée, tabulation,
etc.).
A mettre dans le module de ta feuille :
Dim TblCel() As Range '(doit être en tête de module)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
Dim I As Integer
Dim Adresse As String
'vide le tableau
Erase TblCel
'si A1
If Not Intersect(Target, [A1]) Is Nothing Then
'plage de recherche en colonne A
'à partir de A3
Set Plage = Range([A3], [A65536].End(3))
'la recherche est faite à partir
'des premiers caractères
Set Cel = Plage.Find([A1] & "*", [A3], xlValues)
If Not Cel Is Nothing Then
Adresse = Cel.Address
Do
'stocke la référence de la cellule
'dans le tableau
I = I + 1
ReDim Preserve TblCel(1 To I)
Set TblCel(I) = Cel
Set Cel = Plage.FindNext(Cel)
Loop While Adresse <> Cel.Address
Else
MsgBox "Mot non trouvé !"
End If
End If
Set Cel = Nothing
Set Plage = Nothing
End Sub
Sub Selectionner()
Static J As Integer
'évite l'erreur du tableau
'non initialisé
On Error Resume Next
If J >= UBound(TblCel) Then J = 0
J = J + 1
TblCel(J).Select
End Sub
Hervé.
"MIKE" <renautm@free.fr> a écrit dans le message news:
42ca9daa$0$25013$626a14ce@news.free.fr...
Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue, dans
la
quelle, en entrant les premières lettres du nom de l'article j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE
Bonsoir Mike,
En utilisant la cellule A1 comme zone de texte pour la recherche, un
tableau
est rempli avec la référence des cellules correspondant au critère de
recherche. Installe un bouton issus de la barre d'outils "Formulaires" et
affecte lui la macro "Selectionner" (elle sera précédée du nom de la
feuille
où elle se trouve) après la recherche, tu cliques sur le bouton pour
selectionner les cellules les unes après les autres. La recheche est
effectuée une fois la valeur en A1 validée (touche Entrée, tabulation,
etc.).
A mettre dans le module de ta feuille :
Dim TblCel() As Range '(doit être en tête de module)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
Dim I As Integer
Dim Adresse As String
'vide le tableau
Erase TblCel
'si A1
If Not Intersect(Target, [A1]) Is Nothing Then
'plage de recherche en colonne A
'à partir de A3
Set Plage = Range([A3], [A65536].End(3))
'la recherche est faite à partir
'des premiers caractères
Set Cel = Plage.Find([A1] & "*", [A3], xlValues)
If Not Cel Is Nothing Then
Adresse = Cel.Address
Do
'stocke la référence de la cellule
'dans le tableau
I = I + 1
ReDim Preserve TblCel(1 To I)
Set TblCel(I) = Cel
Set Cel = Plage.FindNext(Cel)
Loop While Adresse <> Cel.Address
Else
MsgBox "Mot non trouvé !"
End If
End If
Set Cel = Nothing
Set Plage = Nothing
End Sub
Sub Selectionner()
Static J As Integer
'évite l'erreur du tableau
'non initialisé
On Error Resume Next
If J >= UBound(TblCel) Then J = 0
J = J + 1
TblCel(J).Select
End Sub
Hervé.
"MIKE" a écrit dans le message news:
42ca9daa$0$25013$Bonjour
J'ai une longue liste d'articles 300 lignes
Pour trouver la bonne ligne je peux passer par filtre automatique et
faire
dérouler
Mais c'est un peu longuet
Y a-t-il un moyen de faire en tête de colonne une boite de dialogue, dans
laquelle, en entrant les premières lettres du nom de l'article j'obtiendrai
l'affichage de la ou des lignes qui le contienne
Merci de vos astuces et solutions
MIKE