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 :

Ajouter des valeurs "saisie" par l'utilisateur du programme dans une liste déroulante [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti

    Homme Profil pro
    Technical Account Manager
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technical Account Manager

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Points : 318
    Points
    318
    Billets dans le blog
    1
    Par défaut Ajouter des valeurs "saisie" par l'utilisateur du programme dans une liste déroulante
    à tous la communauté de VBA !

    Dans le cadre de la création d'un outil de programmation pour des utilisateurs ne connaissant pas VBA,
    je souhaite ajouter des valeurs dans une liste déroulante.
    Avec une condition, l'utilisateur doit saisir dans une zone de texte d'un formulaire la valeur qu'il veut ajouter.
    Ce formulaire, va ajouter une valeur dans une "plage excel" définie pour la liste déroulante.
    J'ai réalisé ce programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub TextBox2_Change()
        Dim ligne As Integer
        Dim compteur As String
        compteur = TextBox2.Value
        For ligne = 18 To 100
            If IsEmpty(Worksheets(1).Cells(ligne, 6)) Then
                Worksheets(1).Cells(ligne, 6) = compteur
                Exit Sub
            End If
        Next ligne
    End Sub
    NB : compteur est le nom d'une personne et non un compteur numérique pour une boucle

    Du coup, si je décide de lancer le programme, et de rentrer la valeur "HARRY COVERT", le programme va ajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    H
    HA
    HAR
    HARR
    HARRY
    HARRY 
    HARRY C
    HARRY CO
    HARRY COV
    HARRY COVE
    HARRY COVER
    HARRY COVERT
    Je ne sais pas si c'est parce-qu'on est lundi matin, mais actuellement je ne vois pas comment faire pour n'avoir qu'une seule valeur.
    Je ne dois surement pas utiliser la bonne méthode de raisonnement pour cet algorithme.
    Quelqu'un peut-il m'aider please ?

  2. #2
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Ton problème est dans la première ligne : TextBox2_Change()
    Chaque fois que tu ajoutes un caractère, la macro est activée.

    Pourquoi ne pas faire un simple ImputBox avec une macro activée par un bouton ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre averti

    Homme Profil pro
    Technical Account Manager
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technical Account Manager

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Points : 318
    Points
    318
    Billets dans le blog
    1
    Par défaut
    J'ai pensé à cette approche mais si je remplace par un inputbox ça ne va pas me faire le même affichage ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Pourquoi ne pas utiliser un bouton "valider" sur lequel l'utilisateur devra cliquer pour demander l'intégration du contenu?
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  5. #5
    Membre averti

    Homme Profil pro
    Technical Account Manager
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technical Account Manager

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Points : 318
    Points
    318
    Billets dans le blog
    1
    Par défaut
    C'est une bonne idée.

    J'ai trouvé une solution pour ce problème.
    Je suis passé par des "checkbox" pour afficher des imputbox pour chaque liste déroulante.
    Et effectivement, je n'ai pas de problème avec les imputbox.
    Car ça ne référence pas de macro liée au changement dans une zone de texte.

    Merci pour vos réponses ça m'a beaucoup aidé

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/05/2011, 09h59
  2. Réponses: 4
    Dernier message: 05/06/2007, 09h16
  3. Valeur par défaut dans une liste déroulante
    Par zoom61 dans le forum IHM
    Réponses: 1
    Dernier message: 12/06/2006, 09h00
  4. VBA : ajouter une valeur dans une liste déroulante
    Par remi59 dans le forum Access
    Réponses: 4
    Dernier message: 22/12/2005, 10h01

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