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 :

Bug affichage liste déroulante ActiveX


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2019
    Messages : 3
    Par défaut Bug affichage liste déroulante ActiveX
    bonjour à tous,

    je débute avec VBA. Je travaille sous Excel 2010. J'ai mis en place un formulaire de suivi dans lequel est incorporé une liste déroulante avec saisie semi automatique. Cette liste a été crée à partir d'un tutoriel. Le principe est le suivant:
    ajout de 3 colonnes dans mon tableau qui me sert de base de donnée:
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =--ESTNUM(SIERREUR(CHERCHE('je cherche'!$D$4;K5;1);""))
    =SI(L4=1;NB.SI($L$4:L4;1);"")
    =SIERREUR(INDEX($K$4:$K$9;EQUIV(LIGNES($M$4:M4);$M$4:$M$9;0));"")

    Puis dans le combobox, ajouté une formule de recherche
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =$N$4:INDEX($N$4:$N$9;MAX($M$4:$M$9);1)

    Ca marche plutôt bien! Par contre j'ai un bug d'affichage quand je clique pour choisir un article, le rectangle bleu de sélection reste même quand je sélectionne un autre onglet:
    Nom : bug-liste1.png
Affichages : 317
Taille : 6,3 Ko

    Nom : bug-liste2.png
Affichages : 318
Taille : 6,2 Ko

    le bug apparait au moment ou j'ajoute la sélection dans un tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Selectionner_article() 'Ajouter article à las liste des controles avec bouton
     
    Range("B7").Select
    Selection.End(xlDown).Select ' ctrl flèche vers le bas dernière ligne non vide
    Selection.Offset(1, 0).Select ' première ligne vide = décallage d'une ligne vers le bas
     
    ActiveCell = Range("B5")
     
    Range("B8").Select
    DLig = Range("B9").End(xlDown).Row
    ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & DLig & ""
     
    End Sub

    Est-ce que vous auriez des idées d'où ça peut venir ?
    Merci d'avance pour votre aide.

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    On va commencer par supprimer les Select histoire d'écarter la piste d'une ambigüité.

    Remplace ce code par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Selectionner_article()   'Ajouter article à las liste des controles avec bouton
        Range("B7").End(xlDown).Offset(1, 0).Value = Range("B5")
        DLig = Range("B9").End(xlDown).Row
        Range("B8").PageSetup.PrintArea = "$A$1:$K$" & DLig
    End Sub

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2019
    Messages : 3
    Par défaut
    Bonjour,

    j'ai remplacé le code, ça m'a mis une erreur sur le printarea "erreur 438" , je l'ai désactivé pour le test (ce n'est que du cosmétique). Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & DLig
    ça passe.

    le bug d'affichage reste le même... donc ça ne vient pas du . Select

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par francoiscurtet Voir le message
    j'ai remplacé le code, ça m'a mis une erreur sur le printarea "erreur 438" , je l'ai désactivé pour le test (ce n'est que du cosmétique). Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & DLig
    ça passe.
    Ma faute.
    A force de voir des Select partout, j'ai confondu ActiveSheet et ActiveCell, à cause du Range("B8").Select (qui ne sert à rien).

    le bug d'affichage reste le même... donc ça ne vient pas du . Select
    Etant donné qu'il n'y a rien dans ton code qui concerne un "rectangle bleu", je ne vois pas le rapport avec ton problème...

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2019
    Messages : 3
    Par défaut
    Bonjour,

    je me demande si ça ne viens pas plutôt du mode de remplissage du combobox:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub ComboBox_chercher_Article_Change()
    ComboBox_chercher_Article.ListFillRange = "Choix_article"
    Me.ComboBox_chercher_Article.DropDown
    End Sub
    car quand je le mets en commentaire, je n'ai plus de bug d'affichage...

    Dans "Choix_article" j'ai une liste de référence qui va chercher dans ma table
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    ='Liste réduite'!$G$3:INDEX(Table_réduite[Grouper];MAX(Table_réduite[Position]);1)

    Quelqu'un aurait une idée?

Discussions similaires

  1. Réponses: 10
    Dernier message: 23/04/2014, 13h21
  2. [debutante] affichage liste déroulante
    Par marie4449 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 27/03/2007, 13h35
  3. [PHP-JS] affichage liste déroulante
    Par marie4449 dans le forum Langage
    Réponses: 8
    Dernier message: 23/03/2007, 17h57
  4. Problème fonction affichage listes déroulantes
    Par JLDR69 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/09/2006, 19h06
  5. [VB6] Bug d'affichage liste déroulante
    Par yttrium dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 30/05/2006, 08h45

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