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 :

Fonctionnement Textbox ou Listbox [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 35
    Par défaut Fonctionnement Textbox ou Listbox
    Bonjour à tous,
    Voilà mon problème, je souhaite afficher sur un Userform par le biais d'une listbox ou textbox, j'ai du mal à cerner la différence, les cellules A2:G20 de ma feuille "EVENEMENTS"

    Etant débutant sur le VBA, j'ai essayer pas mal de chose sans grand succès.
    Avec une listbox j'ai essayé de faire le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub UserForm_Initialize()
    ListBox1.ColumnHeads = True
    ListBox1.RowSource = "EVENEMENTS!A2:G20"
    End Sub
    Le soucis est qu'ici sur ma listbox je vais avoir que la colonne A2 qui sera copiée, hors moi je veux prendre en compte plusieurs colonnes A à G en l’occurrence.

    Je ne sais donc pas si je dois choisir une listbox ou textbox et de plus je ne sais pas vraiment le coder.

    J'espère avoir été le plus claire possible.
    Si vous pouviez m'éclairer se serait très sympa!

    Merci

  2. #2
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Il te faut paramétrer ta ListBox en multicolonne.
    Pour cela, il convient de régler le paramètre ColumnCount de ta listbox, sur 7 dans ton exemple, comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub UserForm_Initialize()
    ListBox1.ColumnCount = 7
    ListBox1.ColumnHeads = True
    ListBox1.RowSource = "EVENEMENTS!A2:G20"
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 35
    Par défaut
    Super ça marche!
    Merci beaucoup.
    Par contre je voulais savoir si il était possible dans cette listbox d'afficher par exemple les 10 dernières saisies. C'est à dire que sur le fichier que je réalise il y aura plusieurs données qui seront inscrites dans la journée et qui seront donc dans le fichier "EVENEMENTS" donc j'aimerais savoir si il y a un code pour faire en sorte que ma listbox n'affiche que les 10 dernières saisies par exemple.

    PS: excuser moi de rebondir sur une autre problématique.

  4. #4
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Si j'ai bien compris votre nouvelle demande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub UserForm_Initialize()
    ListBox1.ColumnCount = 7
    ListBox1.ColumnHeads = True
     
    Dim DerniereLigneSaisie As Integer, PremiereLigne As Integer
    DerniereLigneSaisie = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
    If DerniereLigneSaisie - 10 < 2 Then 
        PremiereLigne = 2
    Else
        PremiereLigne = DerniereLigneSaisie - 10
    End If
    ListBox1.RowSource = "EVENEMENTS!A" & PremiereLigne & ":G" & DerniereLigneSaisie
    End Sub

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 35
    Par défaut
    Je vais essayer d’être clair. Votre solution fonctionne mais j'ai tout de même un soucis.

    Pour expliquer j'ai plusieurs combobox où je peux choisir mes critères. Quand j'ai choisi ces critères j'ai un bouton OK qui fait en sorte que ma sélection soit inscrite dans la feuille "EVENEMENTS". Ma listbox va prendre les cellules concernées de la feuille "EVENEMENTS" pour les afficher.

    Lorsque que j'appui sur ok de ma userform je ne vois pas en direct ma listbox qui s'incrémente. Je suis obligé de fermer ma useform et la rouvrir pour voir ce qui a changé. J'aimerais que se soit comme avant lorsque que j'appui sur OK je vois bien ma listbox qui s'incrémente en direct.

    PS: le fait de garder un historique des 10 dernières saisies fonctionne !

    Merci.

  6. #6
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Dans le code du bouton OK, ajouter ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim DerniereLigneSaisie As Integer, PremiereLigne As Integer
    DerniereLigneSaisie = Sheets("EVENEMENTS").Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
    If DerniereLigneSaisie - 10 < 2 Then 
        PremiereLigne = 2
    Else
        PremiereLigne = DerniereLigneSaisie - 10
    End If
    ListBox1.RowSource = "EVENEMENTS!A" & PremiereLigne & ":G" & DerniereLigneSaisie

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

Discussions similaires

  1. valeur textbox vers listbox probleme sauvegarde
    Par nicoborde dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/10/2012, 04h51
  2. [XL-2007] essai textbox vers listbox
    Par grisan29 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/11/2011, 20h20
  3. [XL-2007] textbox vers Listbox
    Par saman_all dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/05/2011, 14h38
  4. remplir textbox ou listbox d'après combobox
    Par babybell dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/12/2010, 20h59
  5. Changer une textBox en listBox
    Par moilou2 dans le forum VBA Access
    Réponses: 5
    Dernier message: 22/02/2008, 12h24

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