Dans les cellules G2 à J31 je dois, dépendamment des semaines, tapez le nom
de certaines villes. Comment puis-je obtenir une liste de choix pour que je
n'ai pas à taper le nom au complet, seulement les premières lettres, comme
lorsque nous réécrivons une même donnée dans une même colonne?
Tu pourrais utiliser un formulaire et une liste déroulante:
Private Sub ComboBox1_Change() ActiveCell.Value = ComboBox1.Text End Sub
gb
"Jules Whittom" <http://cerbermail.com/?7WquFk3oSU> wrote in message news:
De A2 à A31 j'ai écrit le nom de 30 villes.
Dans les cellules G2 à J31 je dois, dépendamment des semaines, tapez le nom
de certaines villes. Comment puis-je obtenir une liste de choix pour que je
n'ai pas à taper le nom au complet, seulement les premières lettres, comme lorsque nous réécrivons une même donnée dans une même colonne?
Merci! ====================== > Jules Whittom
Jean-François Aubert
Salut Jules,
Tu dois créer: - une plage nommée <ville> (ta liste de ville) dans la feuille <feuil1> (à modifier à la ligne <Range(Feuil1.adr) ......> de la proc <Private Sub LB1_Click()>)
' ******** dans le module de l'UserForm ******** Option Compare Text
Private Sub LB1_Click() Range(Feuil1.adr) = UF1.LB1.List(UF1.LB1.ListIndex) Unload UF1 End Sub
Private Sub TB1_KeyUp(ByVal KeyCode As _ MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 119 Then Exit Sub UF1.LB1.Clear For i = 1 To Range("ville").Count If Left([ville].Item(i), Len(UF1.TB1)) Like UF1.TB1 Then UF1.LB1.AddItem ([ville].Item(i)) End If Next End Sub
' *********** dans le module de feuille******** Public adr
Private Sub Worksheet_SelectionChange _ (ByVal Target As Range) Dim ToutesLesVilles Dim T_col, T_li, adr
T_col = Target.Column T_li = Target.Row
If T_col > 6 And T_col < 11 And _ (T_li > 1 And T_li < 32) Then adr = Target.Address ToutesLesVilles = [ville] UF1.Show End If End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Jules Whittom" <http://cerbermail.com/?7WquFk3oSU> a écrit dans le message de news:
De A2 à A31 j'ai écrit le nom de 30 villes.
Dans les cellules G2 à J31 je dois, dépendamment des semaines, tapez le nom de certaines villes. Comment puis-je obtenir une liste de choix pour que je n'ai pas à taper le nom au complet, seulement les premières lettres, comme lorsque nous réécrivons une même donnée dans une même colonne?
Merci! ====================== > Jules Whittom
Salut Jules,
Tu dois créer:
- une plage nommée <ville> (ta liste de ville) dans la feuille <feuil1>
(à modifier à la ligne <Range(Feuil1.adr) ......>
de la proc <Private Sub LB1_Click()>)
' ******** dans le module de l'UserForm ********
Option Compare Text
Private Sub LB1_Click()
Range(Feuil1.adr) = UF1.LB1.List(UF1.LB1.ListIndex)
Unload UF1
End Sub
Private Sub TB1_KeyUp(ByVal KeyCode As _
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 119 Then Exit Sub
UF1.LB1.Clear
For i = 1 To Range("ville").Count
If Left([ville].Item(i), Len(UF1.TB1)) Like UF1.TB1 Then
UF1.LB1.AddItem ([ville].Item(i))
End If
Next
End Sub
' *********** dans le module de feuille********
Public adr
Private Sub Worksheet_SelectionChange _
(ByVal Target As Range)
Dim ToutesLesVilles
Dim T_col, T_li, adr
T_col = Target.Column
T_li = Target.Row
If T_col > 6 And T_col < 11 And _
(T_li > 1 And T_li < 32) Then
adr = Target.Address
ToutesLesVilles = [ville]
UF1.Show
End If
End Sub
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"Jules Whittom" <http://cerbermail.com/?7WquFk3oSU> a écrit dans le message de
news:Ov5nIIVrDHA.2188@TK2MSFTNGP11.phx.gbl...
De A2 à A31 j'ai écrit le nom de 30 villes.
Dans les cellules G2 à J31 je dois, dépendamment des semaines, tapez le nom
de certaines villes. Comment puis-je obtenir une liste de choix pour que je
n'ai pas à taper le nom au complet, seulement les premières lettres, comme
lorsque nous réécrivons une même donnée dans une même colonne?
Tu dois créer: - une plage nommée <ville> (ta liste de ville) dans la feuille <feuil1> (à modifier à la ligne <Range(Feuil1.adr) ......> de la proc <Private Sub LB1_Click()>)
' ******** dans le module de l'UserForm ******** Option Compare Text
Private Sub LB1_Click() Range(Feuil1.adr) = UF1.LB1.List(UF1.LB1.ListIndex) Unload UF1 End Sub
Private Sub TB1_KeyUp(ByVal KeyCode As _ MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 119 Then Exit Sub UF1.LB1.Clear For i = 1 To Range("ville").Count If Left([ville].Item(i), Len(UF1.TB1)) Like UF1.TB1 Then UF1.LB1.AddItem ([ville].Item(i)) End If Next End Sub
' *********** dans le module de feuille******** Public adr
Private Sub Worksheet_SelectionChange _ (ByVal Target As Range) Dim ToutesLesVilles Dim T_col, T_li, adr
T_col = Target.Column T_li = Target.Row
If T_col > 6 And T_col < 11 And _ (T_li > 1 And T_li < 32) Then adr = Target.Address ToutesLesVilles = [ville] UF1.Show End If End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Jules Whittom" <http://cerbermail.com/?7WquFk3oSU> a écrit dans le message de news:
De A2 à A31 j'ai écrit le nom de 30 villes.
Dans les cellules G2 à J31 je dois, dépendamment des semaines, tapez le nom de certaines villes. Comment puis-je obtenir une liste de choix pour que je n'ai pas à taper le nom au complet, seulement les premières lettres, comme lorsque nous réécrivons une même donnée dans une même colonne?
Merci! ====================== > Jules Whittom
Jean-François Aubert
Re,
correction du code de module de feuille:
Public adr
Private Sub Worksheet_SelectionChange _ (ByVal Target As Range) Dim T_col, T_li T_col = Target.Column T_li = Target.Row If Target.Count > 1 Then Exit Sub If T_col > 6 And T_col < 11 And _ (T_li > 1 And T_li < 32) Then adr = Target.Address UF1.Show End If End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Jean-François Aubert" <à a écrit dans le message de news:3fb98a92$
Salut Jules,
Tu dois créer: - une plage nommée <ville> (ta liste de ville) dans la feuille <feuil1> (à modifier à la ligne <Range(Feuil1.adr) ......> de la proc <Private Sub LB1_Click()>)
' ******** dans le module de l'UserForm ******** Option Compare Text
Private Sub LB1_Click() Range(Feuil1.adr) = UF1.LB1.List(UF1.LB1.ListIndex) Unload UF1 End Sub
Private Sub TB1_KeyUp(ByVal KeyCode As _ MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 119 Then Exit Sub UF1.LB1.Clear For i = 1 To Range("ville").Count If Left([ville].Item(i), Len(UF1.TB1)) Like UF1.TB1 Then UF1.LB1.AddItem ([ville].Item(i)) End If Next End Sub
' *********** dans le module de feuille******** Public adr
Private Sub Worksheet_SelectionChange _ (ByVal Target As Range) Dim ToutesLesVilles Dim T_col, T_li, adr
T_col = Target.Column T_li = Target.Row
If T_col > 6 And T_col < 11 And _ (T_li > 1 And T_li < 32) Then adr = Target.Address ToutesLesVilles = [ville] UF1.Show End If End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
Re,
correction du code de module de feuille:
Public adr
Private Sub Worksheet_SelectionChange _
(ByVal Target As Range)
Dim T_col, T_li
T_col = Target.Column
T_li = Target.Row
If Target.Count > 1 Then Exit Sub
If T_col > 6 And T_col < 11 And _
(T_li > 1 And T_li < 32) Then
adr = Target.Address
UF1.Show
End If
End Sub
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"Jean-François Aubert" <àOterjfaubert@bluewin.ch> a écrit dans le message de
news:3fb98a92$1_2@news.bluewin.ch...
Salut Jules,
Tu dois créer:
- une plage nommée <ville> (ta liste de ville) dans la feuille <feuil1>
(à modifier à la ligne <Range(Feuil1.adr) ......>
de la proc <Private Sub LB1_Click()>)
' ******** dans le module de l'UserForm ********
Option Compare Text
Private Sub LB1_Click()
Range(Feuil1.adr) = UF1.LB1.List(UF1.LB1.ListIndex)
Unload UF1
End Sub
Private Sub TB1_KeyUp(ByVal KeyCode As _
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 119 Then Exit Sub
UF1.LB1.Clear
For i = 1 To Range("ville").Count
If Left([ville].Item(i), Len(UF1.TB1)) Like UF1.TB1 Then
UF1.LB1.AddItem ([ville].Item(i))
End If
Next
End Sub
' *********** dans le module de feuille********
Public adr
Private Sub Worksheet_SelectionChange _
(ByVal Target As Range)
Dim ToutesLesVilles
Dim T_col, T_li, adr
T_col = Target.Column
T_li = Target.Row
If T_col > 6 And T_col < 11 And _
(T_li > 1 And T_li < 32) Then
adr = Target.Address
ToutesLesVilles = [ville]
UF1.Show
End If
End Sub
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
Private Sub Worksheet_SelectionChange _ (ByVal Target As Range) Dim T_col, T_li T_col = Target.Column T_li = Target.Row If Target.Count > 1 Then Exit Sub If T_col > 6 And T_col < 11 And _ (T_li > 1 And T_li < 32) Then adr = Target.Address UF1.Show End If End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Jean-François Aubert" <à a écrit dans le message de news:3fb98a92$
Salut Jules,
Tu dois créer: - une plage nommée <ville> (ta liste de ville) dans la feuille <feuil1> (à modifier à la ligne <Range(Feuil1.adr) ......> de la proc <Private Sub LB1_Click()>)
' ******** dans le module de l'UserForm ******** Option Compare Text
Private Sub LB1_Click() Range(Feuil1.adr) = UF1.LB1.List(UF1.LB1.ListIndex) Unload UF1 End Sub
Private Sub TB1_KeyUp(ByVal KeyCode As _ MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 119 Then Exit Sub UF1.LB1.Clear For i = 1 To Range("ville").Count If Left([ville].Item(i), Len(UF1.TB1)) Like UF1.TB1 Then UF1.LB1.AddItem ([ville].Item(i)) End If Next End Sub
' *********** dans le module de feuille******** Public adr
Private Sub Worksheet_SelectionChange _ (ByVal Target As Range) Dim ToutesLesVilles Dim T_col, T_li, adr
T_col = Target.Column T_li = Target.Row
If T_col > 6 And T_col < 11 And _ (T_li > 1 And T_li < 32) Then adr = Target.Address ToutesLesVilles = [ville] UF1.Show End If End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}