XL 2016 Selectionner feuille dans listbox et sortir rapports

chrisdu86

XLDnaute Nouveau
Bonjour a tous

Je me retrouve face à un soucis que je n'arrive pas résoudre (débutant en VBA bien sur) , donc je m'explique :

J'ai un classeur (BDD) ou se trouve plusieurs feuilles correspondant aux ateliers, chaque feuilles contient plusieurs lignes, chaque ligne constitue un rapport de conformité, j'ai réalisé une interface avec une listbox et 2 boutons, un pour la mise en rapport et l'autre pour fermer l'interface.

Mon souhait est le suivant, l'interface me charge au démarrage les feuilles du classeur BDD, puis lorsque je sélectionne une feuille, il me sort les rappoorts de cette feuille sélectionnée.

Mes code pour le moment sont les suivant :

Chargement des feuilles :

VB:
Private Sub UserForm_Initialize()

For i = 1 To Sheets.Count
    Me.ListBox1.AddItem Sheets(i).Name
Next i

End Sub


Le code pour la mise en rapport (celui-ci va vous faire sourire mais il est faux et je ne peux donc aller plus loin)

VB:
Private Sub CommandButton1_Click()



    rep = Environ("USERPROFILE") & "\"
    classeurpath = rep & "Documents\EIPinspection-final\RAPPORTS\rapfinal_C.xlsm"
    classeurphoto = rep & "Documents\EIPinspection-final\PHOTOS"

Set BDD = ThisWorkbook
Set rapport = Workbooks.Open(classeurpath)

nbtogo = ListBox1.ListCount


       
        For i = 2 To nbtogo - 1
       
            If ListBox1.Selected(i) = True Then
                nfiche = BDD.Worksheets(i).Range("BN" & i)                              'Ici je voudrais qu'il me nomme la fiche avec la valeur contenu dans la colonne BN a la ligne x
                rapport.Worksheets("R117C").Copy Before:=rapport.Worksheets("R117C")
                ActiveSheet.Name = nfiche
                ' le reste du code est en ma possession pour les rapports
          
             End If
         Next i

End Sub

donc ce code ne fonctionne pas et n'a pas de bug, si quelqu'un pourrais m'expliquer mon erreur et m'aider à avancer...

Un grand merci a tous
 

chrisdu86

XLDnaute Nouveau
Re bonjour,

Je reviens sur ce post pour dire que j'ai presque résolu ce soucis, voici :
VB:
Private Sub CommandButton1_Click()

rep = Environ("USERPROFILE") & "\"
classeurpath = rep & "Documents\EIPinspection-final\RAPPORTS\rapfinal_C.xlsm"
classeurphoto = rep & "Documents\EIPinspection-final\PHOTOS"

Set BDD = ThisWorkbook
Set rapport = Workbooks.Open(classeurpath)
nbtogo = ListBox1.ListCount

        For i = 0 To nbtogo - 1
      
            If ListBox1.Selected(i) = True Then
                nfiche = BDD.Worksheets(ListBox1.List(i)).Range("BN" & i + 2).Value                 'Nomme la feuille avec la valeur de la colonne BN à i+2
                rapport.Worksheets("R117C").Copy Before:=rapport.Worksheets("R117C")
                ActiveSheet.Name = nfiche
                ' le reste du code est en ma possession pour les rapports
                Sheets(nfiche).Range("L17") = BDD.Worksheets(ListBox1.List(i)).Range("A" & i + 2).Value         'Inscrit le n° de la photo globale (A)
              
            End If
        Next i
      
End Sub

Maintenant il faut que je le fasse boucler sur toute les lignes tu tableau... si quelqu'un aurait un coup de pouce à me donner... merci

chrisdu86
 

Statistiques des forums

Discussions
312 201
Messages
2 086 166
Membres
103 151
dernier inscrit
nassim