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 :

Problème dans une macro de saisie semi-automatique [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 55
    Points
    55
    Par défaut Problème dans une macro de saisie semi-automatique
    Bonjour à tous

    Voila j'ai une macro de la saisie semi-automatique elle fonctionne bien quand la liste des fournisseur est chargée de noms, sauf que mon problème c'est quand la feuille "Liste_Fournisseurs" ne contient aucun élément quand je lance l'UserForm et je tape une lettre dans le Combobox elle génère un bug et quand j'ajoute un nouveau fournisseur le problème persiste toujours car pour que ça fonctionne il faut 2 fournisseurs et plus.

    Voici l'ensemble de mon code :

    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
    27
    28
    29
    30
    31
    32
    Option Explicit
    'Variables qui vont nous servir à alimenter le Combobox des fournisseurs
    Dim f As Worksheet, Choix, Nbl&
     
    Public Sub UserForm_Initialize()
    'A l'ouverture de la fenêtre le curseur toutjous sur le Combobox "Nom du Fournisseur"
      Me.ComboBox1.SetFocus
    'Déterminer la feuille source
      Set f = Sheets("liste_fournisseurs")
    'nombre de ligne non vides qui vont être prise en compte par le combobox
      Nbl = f.[D1048576].End(xlUp).Row
    'Si la ligne 12 est vide alors sortir de la boucle
      Select Case Nbl
        Case Is < 12
        Exit Sub
    'Importer le nom du fournisseur vers le Combobox S'il y a quelque chose entre la ligne 12 et 1048576
        Case 12
        Me.ComboBox1.AddItem f.Range("D12")
        Case Else
    'Assosier le nom dans le Combobox avec la variable Choix pour le filtrage
        Choix = Application.Transpose(f.Range("D12:D" & Nbl))
        Me.ComboBox1.List = Choix
      End Select
    End Sub
     
    'Filtrage des noms de fournisseurs à la saisie semi-automatique dans le Combobox
    Private Sub ComboBox1_Change()
     If Me.ComboBox1.ListIndex = -1 And IsError(Application.Match(Me.ComboBox1, Choix, 0)) Then
       Me.ComboBox1.List = Filter(Choix, Me.ComboBox1.Text, True, vbTextCompare)
       Me.ComboBox1.DropDown
      End If
    End Sub
    La ligne responsable de ces bugs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ComboBox1.List = Filter(Choix, Me.ComboBox1.Text, True, vbTextCompare)
    Pour être plus claire joins le fichiers dedans le problème et la solution attendue

    Merci à vous tous

    Cordialement
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonsoir Infinity, bonsoir le forum,

    J'ai ouvert ton fichier et j'avoue que je n'ai pas trop aimé. Je plains celui qui va remplir la base de données des fournisseurs. Il lui faut ouvrir l'UserForm Menu puis cliquer su ajout fournisseurs pour ouvrir l'UserForm AjoutFournisseurs, qui n'a même pas le curseur dans le bon champ... Il va enfin rajouter le fournisseur et valider et là, comble de malheur, l'userform se ferme sans tambour ni trompettes. S'il il veut en rajouter une autre il lui faut tout recommencer... Vraiment pas pratique !

    Après je n'ai pas compris le fonctionnement du filtre de la ComboBox1. J'ai ajouté cinq fournisseurs et quand je tapes la première lettre il affiche tout. Aucun filtre ?!
    Je me doute que ce que je dis ne t'intéresse guère vu que je ne t'apporte pas de solution...
    Des solutions j'en ai, mais pas en l'état. Il faut revoir le concept. Si ça te branche je peux y travailler dessus, mais à ma manière. Qui n'est pas forcément meilleure que la tienne remarque, mais comme tu l'as présenté, ça ne me branche pas...
    À plus,

    Thauthème

    Je suis Charlie

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Bonsoir Thautheme

    J'ai ouvert ton fichier et j'avoue que je n'ai pas trop aimé. Je plains celui qui va remplir la base de données des fournisseurs. Il lui faut ouvrir l'UserForm Menu puis cliquer su ajout fournisseurs pour ouvrir l'UserForm AjoutFournisseurs, qui n'a même pas le curseur dans le bon champ... Il va enfin rajouter le fournisseur et valider et là, comble de malheur, l'userform se ferme sans tambour ni trompettes. S'il il veut en rajouter une autre il lui faut tout recommencer... Vraiment pas pratique !
    Merci pour la réponse voila pour toutes les remarques ci-dessus j'ai réglé le fichier et j'ai imposé toutes les conditions qu'il faut que tu peux voir dans le deuxième fichier joint avec les commentaires

    Et pour la deuxième remarque le principe de filtrage par saisi automatique est similaire au système de la recherche dans Google pour cela dans le fichier je t'est mit quelques prénoms et pour comprendre bien le fonctionnement je t'invite à saisir dans le Combobox par exemple la lettre R puis O puis D et regarde ce qui se passe (ça facilite énormément la recherche) et c'est dans cette macro que je trouve problème c'est quand la liste fournisseurs est vierge elle génère 2 bug comme indiqué dans mon premier sujet
    Fichiers attachés Fichiers attachés

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Points : 2 156
    Points
    2 156
    Par défaut
    Bonjour,

    CF PJ

    Jacques Boisgontier
    Fichiers attachés Fichiers attachés

  5. #5
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour le fil, bonjour le forum,

    Arf ! JB c'est l'Attila d'Excel. Là où il passe les codes ne repoussent plus parce que les siens sont trop top. J'ai vu qu'il était "membre éclairé". Ça doit être marrant de le voir à poil la nuit ! Je vanne mais je lui dois tellement de "Lumières"... Respect Môssieur.
    À plus,

    Thauthème

    Je suis Charlie

  6. #6
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Bonjour boisgontierjacques

    Effectivement après l'essai la solution que tu m'a proposer a éliminer les deux bug et maintenant le fichier fonctionne parfaitement et j'avoue aussi cher ami boisgontierjacques que tes différentes macro sur le sujet de la saisi semi automatique sans les plus répandue sur le net je les trouve partout chapeau pour cela

    Thautheme moi je dirai que Jacques pas uniquement éclairé mais membre en or

    Bref Merci beaucoup messieurs boisgontierjacques et Thautheme

    Cordialement

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

Discussions similaires

  1. [XL-2007] Problème dans une macro en VBA
    Par spartel dans le forum Excel
    Réponses: 2
    Dernier message: 06/07/2015, 11h17
  2. [XL-2007] Problème dans une macro pour ajouter une date
    Par INFINITY100 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2015, 20h28
  3. Problème dans une macro
    Par bentor22 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/05/2013, 10h22
  4. [XL-2007] Insérer dans une macro la saisi semi-automatique
    Par dior-ch dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/01/2012, 12h14
  5. Problème dans une macro
    Par tiyolx dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 11/08/2008, 14h40

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