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 :

question sur userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Par défaut
    Bonjour à toutes et à tous,

    J'ai récupéré un userform sur le forum et je souhaiterai l'adapter un petit peu plus à ce que je fais...

    En fait j'ai une listbox qui me reporte des données d'une feuille et au lieu que les données apparaissent verticalement je souhaiterai qu'elles apparaissent horizontalement comme cela en cas de doublon cela sera beaucoup plus visuel.

    Merci d'avance de votre aide.

    Comme je ne capte rien sur les userforms, est ce que cette modification doit elle être apporté au niveau des propriétés de la listbox ?

    Merci
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim source As String
    Dim n As Integer
     
    n = Sheets("feuil2").Range("a65536").End(xlUp).Row
     
     
    source = "a2:b" & n
    ComboBox1.RowSource = source
    En mettant la propriété columncount à 2.
    Ca donne une liste du nom et prenom (par contre verifie à bien mettre la bonne feuille dans source genre source = "feuil1!a2:b" & n au cas ou ta feuilel change de nom)
    J'espere que c'est bien cela que tu demandais
    Tester et approuvé :p voici ton fichier :
    Fichiers attachés Fichiers attachés

  3. #3
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Par défaut
    Merci beaucoup Toteuf, donc ce n'est pas exactement ce que je recherche, mais c'est en fait dans la listbox (listbox1) sous le menu déroulant (combobox1) que je souahiterai que les informations relatives à une personne apparaissent sur une ligne et non pas les une en desous des autres.

    Je vais tout de même utiliser ce que tu as fait parce que je trouve cela bien pratique d'avoir le nom et prénom dans le menu déroulant.

  4. #4
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Slt,
    avec le code de toteuf tu rajoutes ceci dans userform_initialize:
    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
     
    Dim source As String, sourceList as string
    Dim n As Integer
     
    n = Sheets("feuil2").Range("a65536").End(xlUp).Row
    source = "a2:b" & n
     
    ComboBox1.RowSource = source
     
    ' a rajouter:
    sourceList = "A2:G" & n
    With ListBox1
    .ColumnCount = 7
    .RowSource = sourceList
    End With
    Voila un début. Maintenant si j'ai compris tu aimerais que s'affiche les informations uniquement en fonction de la valeur de la combobox?

    A+

  5. #5
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Par défaut
    Bonjour,

    Merci de votre intérêt.

    Cela ne fonctionne pas, la combobox et la listbox ne contiennent plus aucune donnée et il me met une erreur d'execution '-2147467259 (80004005)': erreur non répertoriée.

  6. #6
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Slt, je viens de tester ceci avec le fichier que tu as mis, j'ai modifé Userform initizialize comme suit:
    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()
    Dim vvaleur As String, i as long
    With ComboBox1
    .ColumnCount = 1
    For i = 2 To Sheets("Feuil2").Cells(Rows.Count, "A").End(xlUp).Row
        vvaleur = Sheets("Feuil2").Range("A" & i).Value + " " + Sheets("Feuil2").Range("B" & i).Value
        .AddItem vvaleur
    Next i
    End With
     
    Me.ListBox1.Clear
     
    End Sub
    et ensuite j'ai modifié Le combox1_change comme suit:
    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 ComboBox1_Change()
    Dim x As Long, n As Long, F2 As Worksheet
    n = Sheets("Feuil2").Range("A65536").End(xlUp).Row
    Set F2 = Worksheets("Feuil2")
     
     
    For x = 0 To n
    If ComboBox1.ListIndex = x Then
      Me.ListBox1.ColumnCount = 7
      Me.ListBox1.RowSource = F2.Name & "!" & F2.Range("A" & x + 2 & ":G" & x + 2).Address
     End If
    Next x
     
    End Sub
    .

    Donc dans un premier temps lorsque l'userform ce charge il remplit dans combobox.
    dans un deuxième temps en fonction de la valeur de la combobox il affiche dans la listebox sur une ligne la valeur correspondante.
    dis moi ce que t'en penses.
    A+

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

Discussions similaires

  1. [XL-2003] Quelques questions sur les Userform
    Par dlight dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/07/2010, 02h23
  2. [XL-2003] Petite question sur Userform "combobox"
    Par Maiden002 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/10/2009, 13h11
  3. Question sur le Multipage dans un userform
    Par unconnu dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/03/2008, 15h06
  4. [VBA-E] Question sur image dans userform ?
    Par damsmut dans le forum Excel
    Réponses: 3
    Dernier message: 04/04/2007, 05h32

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