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 :

VBA saisie intuitive comme Google


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Octobre 2017
    Messages : 4
    Par défaut VBA saisie intuitive comme Google
    Bonjour à tous

    Voici mon problème :

    J'ai pu créer un Userform et j'ai insérer une combobox ou j'ai mis une liste qui se réfère à une base de donnée d'une autre feuille qui s'appelle Inventaire

    Cependant, j'aimerai que lorsque je tape "Auv" dans mon formulaire, la combobox me donne tous les éléments de ma base de donnée ayant pour début de mot "Auv". Exactement comme dans Google ou il t'affiche au fur à mesure que tu écris ton mot.

    Merci de votre aide !

    Jeh98

    Voici mon fichier excel :

  2. #2
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Salut,

    Alors je ne peux pas répondre directement à ta demande mais j'ai quelque chose qui peut s'en approcher, regarde ici:

    https://www.developpez.net/forums/d1...transpose-sql/

    Ce n'est pas une saisie intuitive mais cela permet de réduire les choix dans la base en fonctions des éléments saisis dans le textbox.

    Tu l'auras compris il y a ici un textbox et une listbox + une base (plage de près de 10 colonnes)

    Sinon ce code aussi :

    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
    19
    20
    21
    22
    23
    24
    25
    26
     
    Option Compare Text
     
    Private Sub ListBox1_Click()
     
                TextBox1 = ListBox1.List(ListBox1.ListIndex)
     
    ListBox1.Visible = False
    End Sub
     
    Private Sub TextBox1_Change()
        Application.ScreenUpdating = False
        ListBox1.Clear 'Exemple 2 (ListBox)
        If TextBox1 <> "" Then
        ListBox1.Visible = True
     
            For ligne = 2 To 200
                If Cells(ligne, 1) Like "*" & TextBox1 & "*" Or Cells(ligne, 3) Like "*" & TextBox1 & "*" Or Cells(ligne, 4) Like "*" & TextBox1 & "*" Or Cells(ligne, 5) Like "*" & TextBox1 & "*" Or Cells(ligne, 6) Like "*" & TextBox1 & "*" Or Cells(ligne, 8) Like "*" & TextBox1 & "*" Then
                    ListBox1.AddItem Cells(ligne, 1) & " " & Cells(ligne, 3) & " " & Cells(ligne, 4) & " " & Cells(ligne, 5) & " " & Cells(ligne, 6) & " " & Cells(ligne, 8) 'Exemple 2 (ListBox)
                End If
     
            Next
            Else
            ListBox1.Visible = False
        End If
    End Sub
    Je continue de regarder pour les saisies intuitives.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Octobre 2017
    Messages : 4
    Par défaut
    Hello Manufer, merci pour ta réponse.

    Cependant, c'est bien cette liste intuitive dont j'ai besoin, j'ai trouvé sous une discussion un code qui me permettrait de faire cela sauf que j'arrive pas à l'appliquer, enfin je sais pas ou je dois l'inscrire quoi...étant débutant dans excel


    Liste intuitive dans formulaire
    (Frapper les premières lettres ou cliquer sur la flèche)

    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
    19
    20
    21
    22
    23
    24
    Dim a()
    Private Sub UserForm_Initialize()
      Set f = Sheets("BD")
      a = f.Range("A2:A" & f.[A65000].End(xlUp).Row).Value
      Me.ComboBox1.List = a
    End Sub
     
    Private Sub ComboBox1_Change()
      Set d1 = CreateObject("Scripting.Dictionary")
      tmp = UCase(Me.ComboBox1) & "*"
      For Each c In a
        If UCase(c) Like tmp Then d1(c) = ""
      Next c
      Me.ComboBox1.List = d1.keys
      Me.ComboBox1.DropDown
    End Sub
     
    Private Sub ComboBox1_Click()
      ActiveCell = Me.ComboBox1
      Unload Me
    End Sub
     
     
    MacthEntry : None

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour
    normalement la combo le fait déjà il me semble
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Octobre 2017
    Messages : 4
    Par défaut
    Non malheureusement la combo le fait pas...

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    tu devrais prendre les meme combo que nous alors
    Nom : demo.gif
Affichages : 2751
Taille : 89,5 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Je pose cette question mais c'est juste une précaution,

    Tu as bien un userform dans lequel se trouve un combobox ?

    Sinon après avoir placé le combobox sur ta feuille et double cliqué dessus, tu peux mettre le code ci-dessous:

    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
    19
    20
    21
    22
    23
     
    Option Compare Text
     
    Dim a()
     
     Private Sub ComboBox1_Change()
     
      Set f = Sheets("BD")
     a = f.Range("A2:A" & f.[A65000].End(xlUp).Row).Value
    Me.ComboBox1.List = a
     
     Set d1 = CreateObject("Scripting.Dictionary")
     tmp = UCase(Me.ComboBox1) & "*"
     For Each c In a
     If UCase(c) Like tmp Then d1(c) = ""
     Next c
     Me.ComboBox1.List = d1.Keys
     Me.ComboBox1.DropDown
     End Sub
     
     Private Sub ComboBox1_Click()
     ActiveCell = Me.ComboBox1
     End Sub
    Chez moi ça fonctionne je viens de le tester.

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    je pense avoir compris ce n'est pas la saisie intuitive qu'il veux mais bel est bien la liste de choix correspondant au lettre tapées
    rien a voir avec la demande

    dans ce cas la il faut stoker le tableau trier dans l'ordre et a ficher a partir du premier item correspondant après dropdown
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Réponses: 53
    Dernier message: 08/02/2019, 18h11
  2. [XL-2013] Saisie intuitive (comme dans Google Search) et affichage message d'erreur
    Par p3x66 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 19/06/2017, 19h19
  3. [ODBC] Liste modifiable avec saisie intuitive
    Par ploxien dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/07/2006, 22h39
  4. [VBa-E] TreeView comme Windows Explorer?
    Par gootsu dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/07/2006, 10h06
  5. cacher l'aide à la saisie- comme google suggest
    Par hpfx dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/11/2005, 11h36

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