IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Liste déroulante avec une autocomplétion


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8
    Par défaut Liste déroulante avec une autocomplétion
    Bonjour,

    J'ai deux feuilles excel dans un même classeur.
    L'une de ces feuilles contient une liste de mot.
    L'autre un comboBox.

    J'aimerais pouvoir récupérer dans le combobox ma liste avec une auto complétion, afin que je ne sois pas obligé de dérouler tout mon combobox pour trouver le mot !
    J'ai trouvé sur ce forum une idée de script VB mais je n'arrive pas à le mettre en place.
    Pourriez-vous me donner un exemple svp.
    Voici le code trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    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
    Qu'est-ce que je dois changer dans mon code pour que ça aille chercher ma liste dans ma deuxième feuille de calcul ?

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Il y a un truc que je ne comprend pas, pourquoi ne pas charger la liste de la feuille 2 dans la combobox ? De cette manière tu auras automatiquement l'autocompletion. Sinon à quoi te sert la combobox ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8
    Par défaut
    Oui, pourquoi pas. Le but est de pouvoir mettre à jour cette liste (manuellement) en ajoutant une ligne, mais le tout doit fonctionner avec un autoCompletion afin que je ne perde pas de temps à parcourir toute la liste (ex : liste déroulante standard).

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Il doit se faire tard...parce que je ne vois pas le rapport entre ton combobox et l'autocompletion avec le fait de mettre à jour la liste de ta feuille 2 en ajoutant une ligne.

    Tu veux ajouter cette ligne où ? en fin de liste ? entre deux éléments de la liste ? comment comptes-tu ajouter cette ligne ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8
    Par défaut
    Voilà un exemple en pièce jointe.
    Sauf que sur celui si, la liste est sur la même feuille, alors que je souhaiterais mettre ma liste sur une autre feuille.

    Merci en tout cas d'avoir répondu à mon appel au secours !

    Si, y a des choses que vous ne comprenez pas, n'hésitez pas à me le dire.

    Merci
    Fichiers attachés Fichiers attachés

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Tu peux essayer ceci, en mettant ta liste dans la colonne A de la feuille 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub ComboBox1_Change()
    Dim plage As Range, Cel As Range, DerL As Long
    Dim lettre As String
     
    If Len(ComboBox1) = 1 Then
        ComboBox1.Clear
        DerL = Sheets(2).Range("A65535").End(xlUp).Row
        Set plage = Sheets("feuil2").Range("A2:A" & DerL)
        lettre = Left(Me.ComboBox1, 1)
     
        For Each Cel In plage
            If UCase(Left(Cel, 1)) = UCase(lettre) Then
                Me.ComboBox1.AddItem Cel.Value
            End If
        Next
    End If
    End Sub

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

Discussions similaires

  1. Liste déroulante avec une completion
    Par facteur dans le forum Excel
    Réponses: 11
    Dernier message: 26/04/2012, 12h02
  2. Réponses: 0
    Dernier message: 07/07/2010, 14h51
  3. Comment remplir une liste déroulante avec une macro sans doublons
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/06/2007, 18h34
  4. liste déroulante avec une case à cocher et une image
    Par kurul1 dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/03/2007, 09h54
  5. [Oracle] Remplir une liste déroulante avec une table
    Par CYCLOPE91440 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 26/12/2006, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo