Validation de donnée, trie automatique dans la liste
7 réponses
jdg74
Bonjour à tous,
J'ai une liste déroulante qui est une validation de données liste, cette
liste est une liste de nom que j'ai trié pas ordre alphabétique dans une
autre feuille
Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste
s'ouvre automatiquement avec tous les noms commençant par a
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
C'est pas possible avec données/validation !
AV
"jdg74" a écrit dans le message news:
Bonjour à tous,
J'ai une liste déroulante qui est une validation de données liste, cette liste est une liste de nom que j'ai trié pas ordre alphabétique dans une autre feuille Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste s'ouvre automatiquement avec tous les noms commençant par a
Merci d'avance
C'est pas possible avec données/validation !
AV
"jdg74" <donzel-gargandj@cfdt-interco74.info> a écrit dans le message news:
ezonAhoTDHA.2128@TK2MSFTNGP12.phx.gbl...
Bonjour à tous,
J'ai une liste déroulante qui est une validation de données liste, cette
liste est une liste de nom que j'ai trié pas ordre alphabétique dans une
autre feuille
Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste
s'ouvre automatiquement avec tous les noms commençant par a
J'ai une liste déroulante qui est une validation de données liste, cette liste est une liste de nom que j'ai trié pas ordre alphabétique dans une autre feuille Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste s'ouvre automatiquement avec tous les noms commençant par a
Merci d'avance
Philippe.R
Bonjour nico, Mettre la liste dans une autre feuille est possible à condition de nommer la plage qui la contient et de faire référence à ce nom : =maliste par exemple. -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 "nico" a écrit dans le message de news:3f1a453c$0$8078$
Salut, c'est bizarre, j'ai essayé cette fonction il y a quelques temps et je n'ai pas reussi a mettre la liste dans une autre feuille que celle ou se trouve le menu deroulant, si j'indique une autre feuille pour la liste, excel m'indique qu'il ne peut pas aller chercher la liste sur une autre feuille. j'ai excel 97 pack office PME
tu as quel excel jdg74 ?
merci
-- pour me repondre par mail : http://haltspam.free.fr/index.php?pseudo=nicolas258 AV a écrit dans le message :
| C'est pas possible avec données/validation ! | | AV | | "jdg74" a écrit dans le message news: | | > Bonjour à tous, | > | > J'ai une liste déroulante qui est une validation de données liste, cette | > liste est une liste de nom que j'ai trié pas ordre alphabétique dans une | > autre feuille | > Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste | > s'ouvre automatiquement avec tous les noms commençant par a | > | > Merci d'avance | > | > | |
Bonjour nico,
Mettre la liste dans une autre feuille est possible à condition de nommer la plage qui la contient et de
faire référence à ce nom : =maliste par exemple.
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
"nico" <pasdemailmerci@nico.eur> a écrit dans le message de
news:3f1a453c$0$8078$626a54ce@news.free.fr...
Salut,
c'est bizarre, j'ai essayé cette fonction il y a quelques temps et je n'ai
pas reussi a mettre la liste dans une autre feuille que celle ou se trouve
le menu deroulant, si j'indique une autre feuille pour la liste, excel
m'indique qu'il ne peut pas aller chercher la liste sur une autre feuille.
j'ai excel 97 pack office PME
tu as quel excel jdg74 ?
merci
--
pour me repondre par mail :
http://haltspam.free.fr/index.php?pseudo=nicolas258
AV <alain.vallon@wanadoo.fr> a écrit dans le message :
eWxiMmoTDHA.3712@tk2msftngp13.phx.gbl...
| C'est pas possible avec données/validation !
|
| AV
|
| "jdg74" <donzel-gargandj@cfdt-interco74.info> a écrit dans le message
news:
| ezonAhoTDHA.2128@TK2MSFTNGP12.phx.gbl...
| > Bonjour à tous,
| >
| > J'ai une liste déroulante qui est une validation de données liste, cette
| > liste est une liste de nom que j'ai trié pas ordre alphabétique dans une
| > autre feuille
| > Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste
| > s'ouvre automatiquement avec tous les noms commençant par a
| >
| > Merci d'avance
| >
| >
|
|
Bonjour nico, Mettre la liste dans une autre feuille est possible à condition de nommer la plage qui la contient et de faire référence à ce nom : =maliste par exemple. -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 "nico" a écrit dans le message de news:3f1a453c$0$8078$
Salut, c'est bizarre, j'ai essayé cette fonction il y a quelques temps et je n'ai pas reussi a mettre la liste dans une autre feuille que celle ou se trouve le menu deroulant, si j'indique une autre feuille pour la liste, excel m'indique qu'il ne peut pas aller chercher la liste sur une autre feuille. j'ai excel 97 pack office PME
tu as quel excel jdg74 ?
merci
-- pour me repondre par mail : http://haltspam.free.fr/index.php?pseudo=nicolas258 AV a écrit dans le message :
| C'est pas possible avec données/validation ! | | AV | | "jdg74" a écrit dans le message news: | | > Bonjour à tous, | > | > J'ai une liste déroulante qui est une validation de données liste, cette | > liste est une liste de nom que j'ai trié pas ordre alphabétique dans une | > autre feuille | > Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste | > s'ouvre automatiquement avec tous les noms commençant par a | > | > Merci d'avance | > | > | |
isabelle
bonjour Nico,
pour se faire il faut nommer la liste, tu pourra utiliser ce nom pour la validation à la case Source: =Maliste
isabelle
Salut, c'est bizarre, j'ai essayé cette fonction il y a quelques temps et je n'ai pas reussi a mettre la liste dans une autre feuille que celle ou se tro uve le menu deroulant, si j'indique une autre feuille pour la liste, excel m'indique qu'il ne peut pas aller chercher la liste sur une autre feuil le. j'ai excel 97 pack office PME
tu as quel excel jdg74 ?
merci
-- pour me repondre par mail : http://haltspam.free.fr/index.php?pseudo=nicolas258 AV a écrit dans le message :
| C'est pas possible avec données/validation ! | | AV | | "jdg74" a écrit dans le messa ge news: | | > Bonjour à tous, | > | > J'ai une liste déroulante qui est une validation de données lis te, cette | > liste est une liste de nom que j'ai trié pas ordre alphabétique dans une | > autre feuille | > Ce que je voudrais, c'est que quand je tape a dans la cellule, la l iste | > s'ouvre automatiquement avec tous les noms commençant par a | > | > Merci d'avance | > | > | |
bonjour Nico,
pour se faire il faut nommer la liste, tu pourra utiliser ce nom pour la
validation
à la case Source: =Maliste
isabelle
Salut,
c'est bizarre, j'ai essayé cette fonction il y a quelques temps et je n'ai
pas reussi a mettre la liste dans une autre feuille que celle ou se tro uve
le menu deroulant, si j'indique une autre feuille pour la liste, excel
m'indique qu'il ne peut pas aller chercher la liste sur une autre feuil le.
j'ai excel 97 pack office PME
tu as quel excel jdg74 ?
merci
--
pour me repondre par mail :
http://haltspam.free.fr/index.php?pseudo=nicolas258
AV <alain.vallon@wanadoo.fr> a écrit dans le message :
eWxiMmoTDHA.3712@tk2msftngp13.phx.gbl...
| C'est pas possible avec données/validation !
|
| AV
|
| "jdg74" <donzel-gargandj@cfdt-interco74.info> a écrit dans le messa ge
news:
| ezonAhoTDHA.2128@TK2MSFTNGP12.phx.gbl...
| > Bonjour à tous,
| >
| > J'ai une liste déroulante qui est une validation de données lis te, cette
| > liste est une liste de nom que j'ai trié pas ordre alphabétique dans une
| > autre feuille
| > Ce que je voudrais, c'est que quand je tape a dans la cellule, la l iste
| > s'ouvre automatiquement avec tous les noms commençant par a
| >
| > Merci d'avance
| >
| >
|
|
pour se faire il faut nommer la liste, tu pourra utiliser ce nom pour la validation à la case Source: =Maliste
isabelle
Salut, c'est bizarre, j'ai essayé cette fonction il y a quelques temps et je n'ai pas reussi a mettre la liste dans une autre feuille que celle ou se tro uve le menu deroulant, si j'indique une autre feuille pour la liste, excel m'indique qu'il ne peut pas aller chercher la liste sur une autre feuil le. j'ai excel 97 pack office PME
tu as quel excel jdg74 ?
merci
-- pour me repondre par mail : http://haltspam.free.fr/index.php?pseudo=nicolas258 AV a écrit dans le message :
| C'est pas possible avec données/validation ! | | AV | | "jdg74" a écrit dans le messa ge news: | | > Bonjour à tous, | > | > J'ai une liste déroulante qui est une validation de données lis te, cette | > liste est une liste de nom que j'ai trié pas ordre alphabétique dans une | > autre feuille | > Ce que je voudrais, c'est que quand je tape a dans la cellule, la l iste | > s'ouvre automatiquement avec tous les noms commençant par a | > | > Merci d'avance | > | > | |
jdg74
Ou bien est il possible que quand je tape les 2 ou 3 première lettres d'un nom, que la liste se positionne directement sur le nom qui commence par ces lettres
"AV" a écrit dans le message de news:
C'est pas possible avec données/validation !
AV
"jdg74" a écrit dans le message news:
Bonjour à tous,
J'ai une liste déroulante qui est une validation de données liste, cette liste est une liste de nom que j'ai trié pas ordre alphabétique dans une autre feuille Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste s'ouvre automatiquement avec tous les noms commençant par a
Merci d'avance
Ou bien est il possible que quand je tape les 2 ou 3 première lettres d'un
nom, que la liste se positionne directement sur le nom qui commence par ces
lettres
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de
news:eWxiMmoTDHA.3712@tk2msftngp13.phx.gbl...
C'est pas possible avec données/validation !
AV
"jdg74" <donzel-gargandj@cfdt-interco74.info> a écrit dans le message
news:
ezonAhoTDHA.2128@TK2MSFTNGP12.phx.gbl...
Bonjour à tous,
J'ai une liste déroulante qui est une validation de données liste, cette
liste est une liste de nom que j'ai trié pas ordre alphabétique dans une
autre feuille
Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste
s'ouvre automatiquement avec tous les noms commençant par a
Ou bien est il possible que quand je tape les 2 ou 3 première lettres d'un nom, que la liste se positionne directement sur le nom qui commence par ces lettres
"AV" a écrit dans le message de news:
C'est pas possible avec données/validation !
AV
"jdg74" a écrit dans le message news:
Bonjour à tous,
J'ai une liste déroulante qui est une validation de données liste, cette liste est une liste de nom que j'ai trié pas ordre alphabétique dans une autre feuille Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste s'ouvre automatiquement avec tous les noms commençant par a
Merci d'avance
Michel Pierron
Bonjour jdg74; Supposons par exemple, que la liste de sélection soit nommée MyList et que la cellule de données validation soit en E14
Dans le module de la feuille où est située la cellule de données validation: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Call KeyOff If Not Target = [E14] Then Exit Sub Call KeyOn End Sub
Dans un module standard: Sub KeyOn() Dim i As Integer For i = 65 To 90 Application.OnKey "{" & i & "}", "'ValiData """ & i & """'" Next End Sub
Sub KeyOff() Dim i As Integer For i = 64 To 90 Application.OnKey "{" & i & "}" Next End Sub
Sub ValiData(ByVal KeyCode As Long) If Not TypeOf Selection Is Range Then Exit Sub Dim sText As String, sList As String sText = Selection.Value & Chr(KeyCode) sList = MakeArray(sText) Selection.Value = sText If sList = "False" Then Selection.Validation.Delete Else With Selection.Validation .Delete .Add 3, 1, 1, Formula1:=sList .IgnoreBlank = True .InCellDropdown = True .ShowInput = True End With End If End Sub
Private Function MakeArray(ByVal iChr As String) As String Dim x As Variant, i As Integer x = [MyList].Value For i = LBound(x) To UBound(x) If InStr(1, x(i, 1), iChr, vbTextCompare) = 1 Then MakeArray = MakeArray & x(i, 1) & Chr(&H2C) End If Next If MakeArray = "" Then MakeArray = "False" Else MakeArray = Left(MakeArray, Len(MakeArray) - 1) End If End Function
Lorsque ta cellule active est E14, si tu tapes une ou plusieurs lettres, la liste de validation sera restreinte aux valeurs commençant par ces lettres. A toi d'adapter cette macro en fonction du nom choisi pour ta liste de données et la cellule à laquelle tu affectes la validation de données.
MP
"jdg74" a écrit dans le message de news:
Bonjour à tous,
J'ai une liste déroulante qui est une validation de données liste, cette liste est une liste de nom que j'ai trié pas ordre alphabétique dans une autre feuille Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste s'ouvre automatiquement avec tous les noms commençant par a
Merci d'avance
Bonjour jdg74;
Supposons par exemple, que la liste de sélection soit nommée MyList et que
la cellule de données validation soit en E14
Dans le module de la feuille où est située la cellule de données validation:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call KeyOff
If Not Target = [E14] Then Exit Sub
Call KeyOn
End Sub
Dans un module standard:
Sub KeyOn()
Dim i As Integer
For i = 65 To 90
Application.OnKey "{" & i & "}", "'ValiData """ & i & """'"
Next
End Sub
Sub KeyOff()
Dim i As Integer
For i = 64 To 90
Application.OnKey "{" & i & "}"
Next
End Sub
Sub ValiData(ByVal KeyCode As Long)
If Not TypeOf Selection Is Range Then Exit Sub
Dim sText As String, sList As String
sText = Selection.Value & Chr(KeyCode)
sList = MakeArray(sText)
Selection.Value = sText
If sList = "False" Then
Selection.Validation.Delete
Else
With Selection.Validation
.Delete
.Add 3, 1, 1, Formula1:=sList
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
End With
End If
End Sub
Private Function MakeArray(ByVal iChr As String) As String
Dim x As Variant, i As Integer
x = [MyList].Value
For i = LBound(x) To UBound(x)
If InStr(1, x(i, 1), iChr, vbTextCompare) = 1 Then
MakeArray = MakeArray & x(i, 1) & Chr(&H2C)
End If
Next
If MakeArray = "" Then
MakeArray = "False"
Else
MakeArray = Left(MakeArray, Len(MakeArray) - 1)
End If
End Function
Lorsque ta cellule active est E14, si tu tapes une ou plusieurs lettres, la
liste de validation sera restreinte aux valeurs commençant par ces lettres.
A toi d'adapter cette macro en fonction du nom choisi pour ta liste de
données et la cellule à laquelle tu affectes la validation de données.
MP
"jdg74" <donzel-gargandj@cfdt-interco74.info> a écrit dans le message de
news:ezonAhoTDHA.2128@TK2MSFTNGP12.phx.gbl...
Bonjour à tous,
J'ai une liste déroulante qui est une validation de données liste, cette
liste est une liste de nom que j'ai trié pas ordre alphabétique dans une
autre feuille
Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste
s'ouvre automatiquement avec tous les noms commençant par a
Bonjour jdg74; Supposons par exemple, que la liste de sélection soit nommée MyList et que la cellule de données validation soit en E14
Dans le module de la feuille où est située la cellule de données validation: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Call KeyOff If Not Target = [E14] Then Exit Sub Call KeyOn End Sub
Dans un module standard: Sub KeyOn() Dim i As Integer For i = 65 To 90 Application.OnKey "{" & i & "}", "'ValiData """ & i & """'" Next End Sub
Sub KeyOff() Dim i As Integer For i = 64 To 90 Application.OnKey "{" & i & "}" Next End Sub
Sub ValiData(ByVal KeyCode As Long) If Not TypeOf Selection Is Range Then Exit Sub Dim sText As String, sList As String sText = Selection.Value & Chr(KeyCode) sList = MakeArray(sText) Selection.Value = sText If sList = "False" Then Selection.Validation.Delete Else With Selection.Validation .Delete .Add 3, 1, 1, Formula1:=sList .IgnoreBlank = True .InCellDropdown = True .ShowInput = True End With End If End Sub
Private Function MakeArray(ByVal iChr As String) As String Dim x As Variant, i As Integer x = [MyList].Value For i = LBound(x) To UBound(x) If InStr(1, x(i, 1), iChr, vbTextCompare) = 1 Then MakeArray = MakeArray & x(i, 1) & Chr(&H2C) End If Next If MakeArray = "" Then MakeArray = "False" Else MakeArray = Left(MakeArray, Len(MakeArray) - 1) End If End Function
Lorsque ta cellule active est E14, si tu tapes une ou plusieurs lettres, la liste de validation sera restreinte aux valeurs commençant par ces lettres. A toi d'adapter cette macro en fonction du nom choisi pour ta liste de données et la cellule à laquelle tu affectes la validation de données.
MP
"jdg74" a écrit dans le message de news:
Bonjour à tous,
J'ai une liste déroulante qui est une validation de données liste, cette liste est une liste de nom que j'ai trié pas ordre alphabétique dans une autre feuille Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste s'ouvre automatiquement avec tous les noms commençant par a
Merci d'avance
Michel Pierron
Bonjour jdg74; Est-ce que Nom est le nom que tu as défini pour ta plage de données ? MP
"jdg74" a écrit dans le message de news:
Salut Michel,
J'ai essayé ton code mais cela ne marche pas? La seule modification que j'ai faite c'est de changer MyList par Nom Si tu peux m'aider merci
"Michel Pierron" a écrit dans le message de news:
Bonjour jdg74; Supposons par exemple, que la liste de sélection soit nommée MyList et que
la cellule de données validation soit en E14
Dans le module de la feuille où est située la cellule de données validation:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Call KeyOff If Not Target = [E14] Then Exit Sub Call KeyOn End Sub
Dans un module standard: Sub KeyOn() Dim i As Integer For i = 65 To 90 Application.OnKey "{" & i & "}", "'ValiData """ & i & """'" Next End Sub
Sub KeyOff() Dim i As Integer For i = 64 To 90 Application.OnKey "{" & i & "}" Next End Sub
Sub ValiData(ByVal KeyCode As Long) If Not TypeOf Selection Is Range Then Exit Sub Dim sText As String, sList As String sText = Selection.Value & Chr(KeyCode) sList = MakeArray(sText) Selection.Value = sText If sList = "False" Then Selection.Validation.Delete Else With Selection.Validation .Delete .Add 3, 1, 1, Formula1:=sList .IgnoreBlank = True .InCellDropdown = True .ShowInput = True End With End If End Sub
Private Function MakeArray(ByVal iChr As String) As String Dim x As Variant, i As Integer x = [MyList].Value For i = LBound(x) To UBound(x) If InStr(1, x(i, 1), iChr, vbTextCompare) = 1 Then MakeArray = MakeArray & x(i, 1) & Chr(&H2C) End If Next If MakeArray = "" Then MakeArray = "False" Else MakeArray = Left(MakeArray, Len(MakeArray) - 1) End If End Function
Lorsque ta cellule active est E14, si tu tapes une ou plusieurs lettres, la
liste de validation sera restreinte aux valeurs commençant par ces lettres.
A toi d'adapter cette macro en fonction du nom choisi pour ta liste de données et la cellule à laquelle tu affectes la validation de données.
MP
"jdg74" a écrit dans le message de news:
Bonjour à tous,
J'ai une liste déroulante qui est une validation de données liste, cette
liste est une liste de nom que j'ai trié pas ordre alphabétique dans une
autre feuille Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste
s'ouvre automatiquement avec tous les noms commençant par a
Merci d'avance
Bonjour jdg74;
Est-ce que Nom est le nom que tu as défini pour ta plage de données ?
MP
"jdg74" <donzel-gargandj@cfdt-interco74.info> a écrit dans le message de
news:uCShGmtTDHA.1712@TK2MSFTNGP11.phx.gbl...
Salut Michel,
J'ai essayé ton code mais cela ne marche pas?
La seule modification que j'ai faite c'est de changer MyList par Nom
Si tu peux m'aider merci
"Michel Pierron" <michel.pierron@free.fr> a écrit dans le message de
news:ePYlnaqTDHA.1552@TK2MSFTNGP12.phx.gbl...
Bonjour jdg74;
Supposons par exemple, que la liste de sélection soit nommée MyList et
que
la cellule de données validation soit en E14
Dans le module de la feuille où est située la cellule de données
validation:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call KeyOff
If Not Target = [E14] Then Exit Sub
Call KeyOn
End Sub
Dans un module standard:
Sub KeyOn()
Dim i As Integer
For i = 65 To 90
Application.OnKey "{" & i & "}", "'ValiData """ & i & """'"
Next
End Sub
Sub KeyOff()
Dim i As Integer
For i = 64 To 90
Application.OnKey "{" & i & "}"
Next
End Sub
Sub ValiData(ByVal KeyCode As Long)
If Not TypeOf Selection Is Range Then Exit Sub
Dim sText As String, sList As String
sText = Selection.Value & Chr(KeyCode)
sList = MakeArray(sText)
Selection.Value = sText
If sList = "False" Then
Selection.Validation.Delete
Else
With Selection.Validation
.Delete
.Add 3, 1, 1, Formula1:=sList
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
End With
End If
End Sub
Private Function MakeArray(ByVal iChr As String) As String
Dim x As Variant, i As Integer
x = [MyList].Value
For i = LBound(x) To UBound(x)
If InStr(1, x(i, 1), iChr, vbTextCompare) = 1 Then
MakeArray = MakeArray & x(i, 1) & Chr(&H2C)
End If
Next
If MakeArray = "" Then
MakeArray = "False"
Else
MakeArray = Left(MakeArray, Len(MakeArray) - 1)
End If
End Function
Lorsque ta cellule active est E14, si tu tapes une ou plusieurs lettres,
la
liste de validation sera restreinte aux valeurs commençant par ces
lettres.
A toi d'adapter cette macro en fonction du nom choisi pour ta liste de
données et la cellule à laquelle tu affectes la validation de données.
MP
"jdg74" <donzel-gargandj@cfdt-interco74.info> a écrit dans le message de
news:ezonAhoTDHA.2128@TK2MSFTNGP12.phx.gbl...
Bonjour à tous,
J'ai une liste déroulante qui est une validation de données liste,
cette
liste est une liste de nom que j'ai trié pas ordre alphabétique dans
une
autre feuille
Ce que je voudrais, c'est que quand je tape a dans la cellule, la
liste
s'ouvre automatiquement avec tous les noms commençant par a
Bonjour jdg74; Est-ce que Nom est le nom que tu as défini pour ta plage de données ? MP
"jdg74" a écrit dans le message de news:
Salut Michel,
J'ai essayé ton code mais cela ne marche pas? La seule modification que j'ai faite c'est de changer MyList par Nom Si tu peux m'aider merci
"Michel Pierron" a écrit dans le message de news:
Bonjour jdg74; Supposons par exemple, que la liste de sélection soit nommée MyList et que
la cellule de données validation soit en E14
Dans le module de la feuille où est située la cellule de données validation:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Call KeyOff If Not Target = [E14] Then Exit Sub Call KeyOn End Sub
Dans un module standard: Sub KeyOn() Dim i As Integer For i = 65 To 90 Application.OnKey "{" & i & "}", "'ValiData """ & i & """'" Next End Sub
Sub KeyOff() Dim i As Integer For i = 64 To 90 Application.OnKey "{" & i & "}" Next End Sub
Sub ValiData(ByVal KeyCode As Long) If Not TypeOf Selection Is Range Then Exit Sub Dim sText As String, sList As String sText = Selection.Value & Chr(KeyCode) sList = MakeArray(sText) Selection.Value = sText If sList = "False" Then Selection.Validation.Delete Else With Selection.Validation .Delete .Add 3, 1, 1, Formula1:=sList .IgnoreBlank = True .InCellDropdown = True .ShowInput = True End With End If End Sub
Private Function MakeArray(ByVal iChr As String) As String Dim x As Variant, i As Integer x = [MyList].Value For i = LBound(x) To UBound(x) If InStr(1, x(i, 1), iChr, vbTextCompare) = 1 Then MakeArray = MakeArray & x(i, 1) & Chr(&H2C) End If Next If MakeArray = "" Then MakeArray = "False" Else MakeArray = Left(MakeArray, Len(MakeArray) - 1) End If End Function
Lorsque ta cellule active est E14, si tu tapes une ou plusieurs lettres, la
liste de validation sera restreinte aux valeurs commençant par ces lettres.
A toi d'adapter cette macro en fonction du nom choisi pour ta liste de données et la cellule à laquelle tu affectes la validation de données.
MP
"jdg74" a écrit dans le message de news:
Bonjour à tous,
J'ai une liste déroulante qui est une validation de données liste, cette
liste est une liste de nom que j'ai trié pas ordre alphabétique dans une
autre feuille Ce que je voudrais, c'est que quand je tape a dans la cellule, la liste
s'ouvre automatiquement avec tous les noms commençant par a
Merci d'avance
isabelle
:-( la liste n'est pas très longue à date, je crois qu'il serait mieu x de retarder ça au le mois de septembre, qu'est ce que t'en dit ?
isabelle
Salut Isabelle, en parlant de liste... tu as commencé ta liste d'invité(e)s ?
Ch.
à la case Source: =Maliste
isabelle
:-( la liste n'est pas très longue à date, je crois qu'il serait mieu x
de retarder ça au le mois de septembre, qu'est ce que t'en dit ?
isabelle
Salut Isabelle,
en parlant de liste...
tu as commencé ta liste d'invité(e)s ?