Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 12 sur 12
  1. #1
    Membre régulier
    Inscrit en
    avril 2007
    Messages
    637
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 637
    Points : 91
    Points
    91

    Par défaut Liste déroulante avec une completion

    Bonjour,
    je ne sais pas si je suis dans le bon forum pour résoudre mon probléme de liste déroulante avec complétion.
    Pour faire simple , serait il possible de faire une autocompletion sur une liste de validation : je souhaiterai créer une liste déroulante dans une cellule où à chaque fois que je voudrais inscrire un nom (qui serait au préalable déja inscrit sur la liste déroulante) celui ci s'inscrirait automatiquement dés que je rentrais le debut du mot :
    Exemple: Dans la liste déroulante se trouve le mot "PARIS".
    Si dans la cellule A2, je commence à ecrire "PA"...le mot "PARIS" vient s'afficher automatiquement dans la cellule A2.

    Aprés plusieurs recherches sur internet, ce n'est pas aussi simple que je ne pensais . Apparemment, il faut mettre en place une sorte de programmation avec des notions de java, HTM,...en vrai dire je n'ai rien compris .

    Y aurait il une personne qui pourrait m'aider et decrire les demarches à suivre et ceci par étape et ou entrer cette programmation ( dans quel fichier, a quel endroit de mon fichier ...
    Merci par avance

  2. #2
    Membre actif
    Inscrit en
    septembre 2007
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : septembre 2007
    Messages : 140
    Points : 163
    Points
    163

    Par défaut

    Bonjour,

    Un essai avec ce une liste déroulante intuitive :

    Dans le fichier joint, on a la liste des villes du département du Nord.

    Tu tapes les premières lettres et ensuite, en activant la liste déroulante, tu obtiens la liste des villes commençant par ...

    Le principe :

    Créer une liste nommée avec la fonction DECALER :

    Code :
    1
    2
    =DECALER(Liste_villes!IU1;EQUIV(Feuil1!B1&"*";Liste_villes!IU1:IU672;0)-1;;
    NB.SI(Liste_villes!IU1:IU672;Feuil1!B1&"*"))
    Ensuite, dans Données - Validation - Autoriser : Liste, faire référence à la liste nommée.

    Dans le 3ème onglet, décocher Alerte d'erreur : quand des données non valides sont tapées

    Voir exemple avec le fichier joint.

    Si pas ça, reviens avec plus de détails

    @+

    Edit : je vois que tu as déjà un autre message avec le même sujet :

    http://www.developpez.net/forums/sho...d.php?t=563145

    il faut éviter de doublonner les posts pour éviter les doubles réponses.

    @+
    Fichiers attachés Fichiers attachés

  3. #3
    Membre régulier
    Inscrit en
    avril 2007
    Messages
    637
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 637
    Points : 91
    Points
    91

    Par défaut Bonjour

    Bonjour Tibo,

    Merci pour ta reponse.
    Je connaissais la fonction "decaler" inserer dans une liste deroulante .
    Ce que je que je souhaite c'est justement ne pas utiliser la fleche de la liste deroulante mais que la valeur rechercher s'affiche automatiquement des que tu entres les premieres lettres du nom recherche.
    Par exemple,
    Si, je souhaite inscrire le nom de la ville "ABANCOURT", je voudrais que, des que j'ecris "AB", le nom ,"ABANCOURT" vient s'afficher sur la cellule.
    Et cette fonction qui permet cela est l'autocompletion mais tres difficile a mettre en place apparemment .

    Si tu as des connaissances sur la programmation pour mettre en place l'autocomplation...je suis preneur.

    PS :Si j'ai pose ce probleme a deux reprises..c'est que je n'avais point de reponse..

  4. #4
    Invité
    Invité(e)

    Par défaut

    Bonjour,

    Voir PJ
    -La liste des noms doit être triée
    -Données/Validation/Liste
    =DECALER(Noms;EQUIV(A2&"*";Noms;0)-1;;NB.SI(Noms;A2&"*"))
    -Dans Alerte erreur décocher Quand les données non valides sont frappées


    JB
    Fichiers attachés Fichiers attachés
    Dernière modification par Invité ; 11/01/2010 à 12h52.

  5. #5
    Membre régulier
    Inscrit en
    avril 2007
    Messages
    637
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 637
    Points : 91
    Points
    91

    Par défaut Bonjour Boisgontier

    Tu m'avais deja donner cette formule "decaler" Boisgontier qui est d'ailleurs tres interessante.
    Mais ce que je souhaite c'est que le nom recherche s'affiche(apres avoir ecrit les deux ou trois premieres lettres du nom) et ainsi plus besoin de cliquer sur la liste deroulante pour selectionner la valeur desiree.
    [
    QUOTE=facteur;3356041]Bonjour Tibo,

    Merci pour ta reponse.
    Je connaissais la fonction "decaler" inserer dans une liste deroulante .
    Ce que je que je souhaite c'est justement ne pas utiliser la fleche de la liste deroulante mais que la valeur rechercher s'affiche automatiquement des que tu entres les premieres lettres du nom recherche.
    Par exemple,
    Si, je souhaite inscrire le nom de la ville "ABANCOURT", je voudrais que, des que j'ecris "AB", le nom ,"ABANCOURT" vient s'afficher sur la cellule.
    Et cette fonction qui permet cela est l'autocompletion mais tres difficile a mettre en place apparemment .

    Si tu as des connaissances sur la programmation pour mettre en place l'autocomplation...je suis preneur.

    PS :Si j'ai pose ce probleme a deux reprises..c'est que je n'avais point de reponse..[/QUOTE]

  6. #6
    Invité
    Invité(e)

    Par défaut

    Bonjour,

    Avec combobox de la BO contrôles. On frappe la première lettre.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Private Sub ComboBox1_Change()
     If Len(ComboBox1) = 1 Then
            Dim a()
            lettre = Left(Me.ComboBox1, 1)
            For i = 1 To [Liste].Count
              If UCase(Left(Range("liste")(i), 1)) = UCase(lettre) Then
                  n = n + 1
                  ReDim Preserve a(0, 1 To n)
                  a(0, n) = Range("liste")(i)
              End If
            Next
            If n >= 1 Then
              Me.ComboBox1.List = Application.Transpose(a)
              SendKeys "{F4}"
              témoin = True
            End If
     End If
    End Sub

    JB
    Fichiers attachés Fichiers attachés
    Dernière modification par Invité ; 09/06/2008 à 14h52.

  7. #7
    Membre régulier
    Inscrit en
    avril 2007
    Messages
    637
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 637
    Points : 91
    Points
    91

    Par défaut Bonjour

    Merci Boisgontier pour cette réponse.
    mais je vais encore t'embeter car je ne sais pas ou inserer ce programme ( et pourrais je savoir ce que signifie combobax ....).
    Merci pour ton aide

  8. #8
    Invité
    Invité(e)

    Par défaut

    Voir PJ du message précédent.

    JB

  9. #9
    Invité de passage
    Inscrit en
    juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 8
    Points : 1
    Points
    1

    Par défaut

    Salut boisgontier,

    Je trouve ta petite appli bien sympa j'aimerai utiliser ce genre de listes déroulantes pour afficher un tableau plus ou moins grand. Je m'explique si dans mon tableau j'ai les champs Nome prenom ville je voudrait utiliser le formulaire pour n'afficher que les lignes de certaine ville ou de certain prenom ou de certains noms.

    Si je ne suis pas assez clair sit moi

    Merci

  10. #10
    Invité de passage
    Inscrit en
    avril 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : avril 2012
    Messages : 2
    Points : 2
    Points
    2

    Par défaut

    Bonjour à tous,

    je suis tombé sur votre discussion en essayant de trouver un moyen pour faire de la complétion à partir d'une liste déroulante dans une colonne.

    J'ai bien compris que la complétion n'était pas possible dans Excel, et du coup, je cherche à mettre en place la fonction DECALER.

    J'ai donc fait une liste déroulante, ou j'appelle ma liste de valeur, mais je n'arrive pas à restreindre mes choix...

    Je vous met le fichier Excel en pièce jointe. La fonction est dans la cellule B3.

    Ma liste ROPALO2 est la liste taxinomique présent dans l'onglet 3.

    Merci de me dire ce qui ne va pas dans ma recherche.
    Fichiers attachés Fichiers attachés

  11. #11
    Membre éprouvé
    Inscrit en
    mai 2010
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : mai 2010
    Messages : 325
    Points : 484
    Points
    484

    Par défaut

    Bonjour,

    Citation Envoyé par Boisgontier Voir le message
    -Dans Alerte erreur décocher Quand les données non valides sont frappées
    J'utilise LibreOffice 4 donc quand je suis sur la partie du forum Excel, il se peut que mes réponses ne soit pas adéquates. Veuillez m'en excuser.

  12. #12
    Invité de passage
    Inscrit en
    avril 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : avril 2012
    Messages : 2
    Points : 2
    Points
    2

    Par défaut

    Mince, c'était juste ça!!!

    Merci beaucoup Gérald, tout marche parfaitement!

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •