recherche dans une liste a partir des premieres lettres

matou59

XLDnaute Junior
Bonjour,
Je joins un fichier zip qui expliquera mieux ce que je vodrais faire
A partir d'une liste de villes, rechercher une ville en donnant la 1ere lettre de son nom ou les suivantes
Quelle methode serait la plus simple pour moi car je ne connais pas visual basic mais en m'expliquant peut etre que je comprendrai...

merci

Cordialement
 

Pièces jointes

  • recherche_ville.zip
    28.9 KB · Affichages: 166

job75

XLDnaute Barbatruc
Re : recherche dans une liste a partir des premieres lettres

Re,

J'avais oublié, bien sûr mettre la colonne B de la feuille liste au format spécial Code postal.

A+
 

Pièces jointes

  • recherche_ville(2).zip
    39.5 KB · Affichages: 53

matou59

XLDnaute Junior
Re : recherche dans une liste a partir des premieres lettres

Merci a tous et comme je ne connais pas VB, j'ai retenu la solution de MUTZIK qui est trés simple et sans VB.
C'est le résultat qui compte et pour moi c'est super et en plus c'est trés facile a comprendre, suffit de connaitre les diverses fonctions qu'offre EXCEL.....
Merci encore tous
cordialement
 

job75

XLDnaute Barbatruc
que j'ai proposée.

Bonjour matou59, le forum,

C'est vrai que vous aviez écrit :

Quelle methode serait la plus simple pour moi car je ne connais pas visual basic (...)

La solution de mutzik, par formule, est bien sûr la plus simple.

Je reviens tout de même sur la solution VBA que j'ai proposée.

Le traitement du cas où il existe plusieurs villes du même nom n'était pas fameux.

Cette version (3) est nettement meilleure.

A+
 

Pièces jointes

  • recherche_ville(3).zip
    39 KB · Affichages: 79

wahid

XLDnaute Nouveau
Re : recherche dans une liste a partir des premieres lettres

slt,bonjour
merci pour les fichier et pour l'explication de ces fichiers
mon problème c'est :
la 1er feuille s'appele "marchandises" il appartiene 150 lignes et chaque ligne automatiquement pote une marchadise
la 2eme feuille "facture"
N° Designation Qté PU Montant

dans la designation je veux que si je tape une lettre "S" une liste s'affiche automatiquement commonçant par cette lettre
la question c'est comment faire ça?
 

wahid

XLDnaute Nouveau
Re : recherche dans une liste a partir des premieres lettres

Bonjour
merci pour le fichier copie de recherche_ville
mais il y a un problème
comment faire si je mets la premiere lettre du nom de la ville cherchee dans la colonne A la liste ne s'ouvre pas elle s'ouvre dans l'userform est pas dans la cellule et dans l'ouverture de l'userform sa marche bien ou il monque un botton de validation (ok) pour la placer sur la cellule
Question : comment faire pourque que je puisse tapper sur la cellule directement ?
 

Softmama

XLDnaute Accro
Re : recherche dans une liste a partir des premieres lettres

bonjour à tous,

une autre proposition par VBA en pièce jointe.
 

Pièces jointes

  • Saisie_intuitive.xls
    40 KB · Affichages: 68
  • Saisie_intuitive.xls
    40 KB · Affichages: 80
  • Saisie_intuitive.xls
    40 KB · Affichages: 84

wahid

XLDnaute Nouveau
Re : recherche dans une liste a partir des premieres lettres

bonsoir
merci pour le fichier mais c'est très compliquer
j'ai deux feuille dans l'excel la 1ere les noms des marchandises et la 2ème ma facture
dans la désignation de la facture je veut si je tappe la premiere lettre il me donne des noms de la même lettre et si je tappe la 2eme lettre il me donne des noms de les mêmes lettres que j'ai tappe (c'est comme une liste de choix)
merci
 

Softmama

XLDnaute Accro
Re : recherche dans une liste a partir des premieres lettres

re,

Dans l'exemple joint, tu as juste à remplacer la liste des pays que j'ai mise par ta liste de marchandises. Et dans la feuille facture, j'ai défini la colonne H qui doit réagir à la frappe des premières lettres entrées. Adapte la zone dans le code à l'endroit indiqué par des ***************************** en vert.

Dans el code de la feuille Facture, avec un contrôle Combobox1 dedans :
VB:
Public Valid As Boolean

Private Sub ComboBox1_Click()
    If ComboBox1.Text = "" Then Exit Sub
    ActiveCell.Value = ComboBox1.Text
    ComboBox1.Visible = False
    Valid = True
    ActiveCell.Select
End Sub

Private Sub ComboBox1_Keyup(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim cel As Range
    If KeyCode = 13 And Valid = False Then
        ActiveCell.Value = ComboBox1.Text
        ComboBox1.Visible = False
        Valid = True
        ActiveCell.Select
    End If
    If KeyCode = 18 Or KeyCode = 40 Then Exit Sub
   Application.EnableEvents = False
   [ListeMin].ClearContents
   ActiveWorkbook.Names.Add "ListeMin", Feuil1.Range("B2")
   For Each cel In Feuil1.Range("ListeOK")
     If UCase(cel) Like UCase(ComboBox1.Text) & "*" Then
        If Feuil1.Range("B2") = "" Then
            Feuil1.Range("B2") = cel
        Else
            Feuil1.Range("B65000").End(xlUp).Offset(1, 0) = cel
        End If
     End If
   Next cel
    If Feuil1.Range("B3") <> "" Then
        ActiveWorkbook.Names.Add "ListeMin", Feuil1.Range("B2:B" & Feuil1.Range("B2").End(xlDown).Row)
    Else
        ComboBox1.Text = Feuil1.Range("B2")
        SendKeys "{enter}"
    End If
    ComboBox1.ListFillRange = "=ListeMin"
    Application.EnableEvents = True
    If [B3] <> "" Then SendKeys "%{down}"
End Sub

Private Sub ComboBox1_LostFocus()
  ComboBox1.Value = ""
  ComboBox1.Visible = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'multi sélection non prise en compte
'****************************************************
If Target.Column <> 8 Then Exit Sub 'Ne Gérer que la colonne H (8)
'Définis la zone qui t'intéresse
'****************************************************
    Valid = False
    Feuil1.Range("A:A").Copy Destination:=Feuil1.Range("B:B")
    ActiveWorkbook.Names.Add "ListeMin", Feuil1.Range("B2:B" & Feuil1.Range("B2").End(xlDown).Row)
    SendKeys "a{BS}%{down}"
        With ComboBox1
            If ActiveCell <> "" Then .Text = ActiveCell Else .Text = ""
            .Height = Target.Height + 4
            .Width = Target.Width + 14
            .Left = Target.Left - 1
            .Font.Size = Int(.Height) - 5
            .Top = Target.Top - 1
            .Visible = True
            .Activate
        End With
        Feuil1.Range("B:B").ClearContents
End Sub
 

Pièces jointes

  • Saisie_intuitive2.xls
    54.5 KB · Affichages: 99

wahid

XLDnaute Nouveau
Re : recherche dans une liste a partir des premieres lettres

bonsoir ,merci pour le fichier saisie_intuitive2
mais pourquoi quand je seliction la cellule avant de taper la premiere lettre la liste deroulant saffiche auto?
 
Dernière édition:

wahid

XLDnaute Nouveau
Re : recherche dans une liste a partir des premieres lettres

bonjour
j'ai remplacé la liste pays avec ma liste de marchandise mais elle sa marche pas
j'ai copie le code et j'ai la collé mais la même chose
ou et le problème? et merci
 

wahid

XLDnaute Nouveau
Re : recherche dans une liste a partir des premieres lettres

bonjour,
j'ai remplacé ma liste avec la liste des pays elle sa marche pas
j'ai copie le code que tu ma donnée elle ne marche pas et il m'indique
Application.EnableEvents = False[ListeMin].ClearContents
que je doit faire?
 

C@thy

XLDnaute Barbatruc
Re : recherche dans une liste a partir des premieres lettres

Arf! j'ai juste un (tout) petit souci :eek::
je ne voudrais la liste déroulante que dans une seule cellule : A2 et je n'ai pas de doublons sur les noms,
donc en théorie c'est beaucoup plus simple:).

sauf que...:eek: lorsque je clique sur n'importe quelle cellule la macro se met en route,
pourtant j'ai défini ma target comme A2:confused:

je cherche à récupérer l'année de promo en colonne D(4) au lieu du code postal

je joins mon fichier.

Merci si vous pouvez m'aider à corriger ce petit souci et bibises du souar

C@thy
 

Pièces jointes

  • rechercheNoms.xls
    370.5 KB · Affichages: 70

C@thy

XLDnaute Barbatruc
Re : recherche dans une liste a partir des premieres lettres

Oups! en plus maintenant ma liste est fausse, elle ne correspond plus aux lettres saisies... gasp!!!

j'ai tout cassé!:rolleyes:

je repars de la version précédente qui marchait sauf quand je cliquais ailleurs...

C@thy
 
Dernière édition:

C@thy

XLDnaute Barbatruc
Re : recherche dans une liste a partir des premieres lettres

OK ça marche, j'ai réparé!:eek:

il reste sans doute du code en trop... mais ça fonctionne...

Bizz

C@thy
 

Pièces jointes

  • recherche_noms(31).xls
    87.5 KB · Affichages: 46

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 049
Membres
104 012
dernier inscrit
baffyt2