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

Excel Discussion :

Problème avec les textBox et ComboBox


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 32
    Points : 18
    Points
    18
    Par défaut Problème avec les textBox et ComboBox
    Bonjour,

    alors voila j'ai un petit problème.
    J'ai créé un Userform et je je veux demander des informations à un utilisateur avec des TextBox et des ComboBox
    Cependant pour éviter à l'utilisateur de tout recommencer à chaque fois, je souhaite que ce Textbox affiche au préalable les informations renseignées lors de la précédente utilisation.
    Ces informations sont stockées dans la page Excel en elle même.

    J'ai essayé ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TextBox14.Text = Sheets("Bilan").Range("K19").Value
    TextBox14.Visible = True
    TextBox14.Enabled = True
    TextBox14.Locked = False
    Mais ça ne fonctionne pas du tout:
    1) Ca n'affiche la valeur que si je clic sur la textbox
    2) la valeur à l'intérieur est figée

    Voila, j'éspére que vous pourrez m'aider,
    A bientot

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Utilise :

    au lieu de :

    pour masquer au lieu de fermer ton userform

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Excuse moi, mais je ne comprends pas du tout en quoi cela répond à la question.

    Ah ou alors je me suis mal exprimé.
    Il peut y avoir plusieurs jours entre les deux utilisations, donc la page excel est fermée... entre les deux!

  4. #4
    Membre régulier
    Homme Profil pro
    Data Analyste Senior
    Inscrit en
    Août 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data Analyste Senior
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2010
    Messages : 53
    Points : 101
    Points
    101
    Par défaut
    Bonjour,

    La réponse que te donne Daniel est la bonne si tu souhaites que la mémorisation des informations saisies ne persiste pas après la fermeture de l'application.

    Par contre, si tu veux traiter le sujet comme la mémorisation de préférences, il te faut passer par une base de données avec une table de gestion des préférences contenant l'ID de l'utilisateur, le nom du champ et sa valeur - voire une valeur par défaut.
    Ensuite tu codes les évènements :
    - A l'ouverture de l'application, tu charge le formulaire des préférences avec les valeurs de l'utilisateur (et tu laisses le formulaire masqué)
    - Quand l'utilisateur clique sur un bouton "Préférences", tu rends le formulaire des préférences visible
    - A la sauvegarde des préférences, tu sauves les valeurs des champs dans la base (pour l'utilisateur) et tu rends le formulaire à nouveau invisible

  5. #5
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut,

    A mon avis le problème vient de l'évènement dans lequel tu as placé le code (qui a priori est correct)

    Tu dois placer ce code dans ton userform sur l'évènement initialize

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialize()
        TextBox14.Text = Sheets("Bilan").Range("K19").Value
        TextBox14.Visible = True
        TextBox14.Enabled = True
        TextBox14.Locked = False
    End Sub
    Toutefois, si je peux te donner un ou deux conseils...
    -Renomme tes Item, plus facile quand tu en as beaucoup de s'y retrouver
    moi je commence toujours par Obj_ et son type
    En admettant que ton TextBox14 attend le chiffre d'affaire, je nommerais:
    Obj_TB_CA

    -Utilise Me. avant, Me correspond à l'userform actif.
    Dès lors que tu l'utlise, tu accède aux attributs/évènements
    J'en reviens à l'astuce de toujours nommer tes Item, ils seront alors dans les listes des attributs regroupés

    -N'hésites pas à utiliser le With pour limiter la saisie et rendre ton code plus concis.

    Ton code revus à ma sauce:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub UserForm_Initialize()
    With Me.Obj_TB_CA
        .Text = Sheets("Bilan").Range("K19").Value
        .Visible = True
        .Enabled = True
        .Locked = False
    End With
    End Sub



    A+

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    J'ai peut-être mal compris. Je joins un classeur montrant ce que j'ai voulu faire. Appuie sur le bouton "UserForm" pour afficher celui-ci. Saisis quelque chose dans le textbox. Appuie sur le bouton "OK". Appuie de nouveau sur le bouton "UserForm". Le textbox affiche le contenu saisi précédemment.
    Fichiers attachés Fichiers attachés

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Merci Fvandermeulen
    Éventuellement, sais tu comment faire pour un ComboBox?
    J'ai essayé la même chose mais cela ne fonctionne pas. (Après je peux peut être mettre une TextBox a coté, ça suffira...)!

    @ Daniel.C
    Malheureusement, je n'arrive pas à ouvrir ton fichier correctement.
    Il me détecte un problème de sécurité.

  8. #8
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Citation Envoyé par fdegrave Voir le message
    Merci Fvandermeulen
    Éventuellement, sais tu comment faire pour un ComboBox?
    ...
    Pour afficher une valeur voulut d'une Combobox, j'utilise le ListIndex (attention, le premier élément = 0)

    Il faut donc savoir comment tu alimente la liste pour pouvoir définir comment trouver le bon index.
    Je te mets un exemple simple:

    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
    Private Sub UserForm_Initialize()
    With Me.Obj_TB_CA
        .Text = Sheets("Bilan").Range("K19").Value
        .Visible = True
        .Enabled = True
        .Locked = False
    End With
     
    Me.Obj_CB_Nom.AddItem "Jean"
    Me.Obj_CB_Nom.AddItem "Marc"
    Me.Obj_CB_Nom.AddItem "Louise"
     
    Me.Obj_CB_Nom.ListIndex = 1 'Affiche l'index 1, sachant que ça commence à 0 on doit avoir Marc à l'affichage de l'UF
     
    End Sub

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    C'est ok,
    merci à vous deux!!!

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

Discussions similaires

  1. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  2. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04
  3. Problème avec les apostrophes
    Par misterbillyboy dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/07/2003, 16h39
  4. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44
  5. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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