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 :

UserForm ListBox MultiPage [XL-365]


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    ouvrier
    Inscrit en
    Février 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : ouvrier
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2017
    Messages : 28
    Points : 25
    Points
    25
    Par défaut UserForm ListBox MultiPage
    Bonjour à tous,
    Encore une fois, j'ai besoin de votre aide
    Dans mon fichier, il y a un UserForm MultiPage
    Sur la première page il y a une sélection de feuilles que j'ai indiquées avec ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sous-utilisateur privé UserForm_Initialize ()
    Feuille de travail Dim S As
    sh = Array ("Index", "Paramètres", "Feuil4", "Feuil5", "Feuil6")
    ListBox1.MultiSelect = fmMultiSelectExtended
    Pour chaque S dans les feuilles de calcul
    t = Application.Match (S.Name, sh, 0)
    Si IsError (t) Then
    ListBox1.AddItem S.Name
    Fin si
    Prochain
    TextBox1 = 0
    End Sub
    Je voudrais faire de même pour la page 2
    mais qui s'affichera sur une autre feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sh = Array ("Index", "Paramètres", "Feuil1", "Feuil2", "Feuil3")
    Je suis un noob en VBA
    je joins un fichier qui vous permettra de mieux comprendre.
    Merci d'avance pour votre aide.
    Fichiers joints Fichiers joints
    Type de fichier: xlsm Projet test 0.2.xlsm (48.0 KB, 0 vues)
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Points : 4 299
    Points
    4 299
    Par défaut
    Salut,

    C'est étonnant tu avais le code ... comme tu veux alimenter deux listbox, il faut faire le taf ... 2 fois.

    Voici une proposition de code.
    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
    16
    17
    18
    19
    20
    Private Sub UserForm_Initialize()
        Dim S As Worksheet
        sh = Array("Index", "Paramètres", "Feuil4", "Feuil5", "Feuil6")
        ListBox1.MultiSelect = fmMultiSelectExtended
        For Each S In Worksheets
            t = Application.Match(S.Name, sh, 0)
            If IsError(t) Then
                ListBox1.AddItem S.Name
            End If
        Next
        'mon ajout pour alimneter la seconde listeBox
        sh = Array("Index", "Paramètres", "Feuil1", "Feuil2", "Feuil3")
        For Each S In Worksheets
            t = Application.Match(S.Name, sh, 0)
            If IsError(t) Then
                ListBox2.AddItem S.Name
            End If
        Next
        TextBox1 = 0
    End Sub
    Je fait d'être sur des onglet différents, VBA s'en ... moque (pour rester poli)

    GG
    En espérant que c'est ce que tu veux.
    Jérôme

    " Je pense donc je suis. Tu es donc j'apprends ". (GCM)

    Si ce message vous à aidé, merci de cliquer sur . Si ce message est résolu, cliquez sur .

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    ouvrier
    Inscrit en
    Février 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : ouvrier
    Secteur : Alimentation

    Informations forums :
    Inscription : Février 2017
    Messages : 28
    Points : 25
    Points
    25
    Par défaut
    Bonsoir,
    Oui merci jerome.vaussenat
    j'ai trouvé des codes qui conviennent "à mon sens" mieux pour la suite de mon projet.
    par conte je pas trouvé le moyen d'adapter ce code

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Private Sub Enregistrer_1_seul_PDF_Click()
    Dim k           As Long
        Dim varrSelected() As Variant
        Dim varrToSave  As Variant
        Dim shActiv     As Object
        k = -1
        Application.ScreenUpdating = False
        For i = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(i) Then
                k = k + 1
                ReDim Preserve varrSelected(0 To 1, 0 To k)
                varrToSave = varrToSave & "/" & ListBox1.List(i)
                varrSelected(0, k) = ListBox1.List(i)
                varrSelected(1, k) = ThisWorkbook.Sheets(varrSelected(0, k)).Visible
                ThisWorkbook.Sheets(varrSelected(0, k)).Visible = xlSheetVisible
            End If
        Next i
        If k > -1 Then
            Set shActiv = ActiveSheet
            varrToSave = Mid(varrToSave, 2)
            varrToSave = Split(varrToSave, "/")
            ThisWorkbook.Sheets(varrToSave).Select
            'Feuil2 is a CodeName of "Parametres" sheet
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\""\Desktop\Projet en cour\" & Feuil2.Range("C2").Value & ".pdf"
            shActiv.Select
            For i = 0 To UBound(varrSelected, 2)
                ThisWorkbook.Sheets(varrSelected(0, i)).Visible = varrSelected(1, i)
            Next i
            MsgBox "Selected sheets were saved in a PDF file.", vbInformation
        End If
        Application.ScreenUpdating = True
    End Sub
    pour imprimer les feuilles dans un seul PDF
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [XL-2007] UserForm / ListBox / Affichage dynamique
    Par familledacp dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/10/2011, 08h31
  2. [XL-2003] Userform Listbox Multiselect
    Par meumeu73.1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/01/2010, 15h00
  3. [XL-2003] UserForm listBox eT textBox
    Par alex santus dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2009, 17h15
  4. [XL-2003] Userform ListBox Donnée
    Par PUARAI dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/04/2009, 21h46
  5. Userform avec multipage à ouvrir sur une page précise
    Par perchman dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/03/2009, 02h49

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