Bonjour,

Je reviens vers vous pour une chose qui me semblait simple mais qui ne se passe pas comme prévu.

j'exporte le résultat que j'obtient dans une listbox dans un fichier excel à l'aide de 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 CommandButton1_Click()
Dim WkNouveau As Workbook, ShNouveau As Worksheet
Dim ligne, colonne As Integer
Dim Nomfichier As String
Set WkNouveau = Workbooks.Add
Set ShNouveau = WkNouveau.Sheets(1)
ShNouveau.Name = "Extaction"
Dim c As Integer
Dim NbCol As String
Dim nblig  As String
 
    NbCol = Me.LVResult.ColumnHeaders.Count
    Dim Tbl(): ReDim Tbl(1 To NbCol)
    For c = 1 To NbCol
      Tbl(c) = Me.LVResult.ColumnHeaders(c)
    Next c
    [A1].Resize(, NbCol) = Tbl
 
 
 
 
 NbCol = Me.LVResult.ColumnHeaders.Count
  nblig = Me.LVResult.ListItems.Count
  ReDim Tbl(1 To nblig, 1 To NbCol)
  For ligne = 1 To nblig
    Tbl(ligne, 1) = LVResult.ListItems(ligne)
    For colonne = 1 To Me.LVResult.ColumnHeaders.Count - 1
        Tbl(ligne, colonne + 1) = LVResult.ListItems(ligne).ListSubItems(colonne)
    Next colonne
  Next ligne
  [A2].Resize(nblig, NbCol) = Tbl
Apres exportation je voudrais mettre un filtre sur la première ligne de A1 nombre de colonne généralement K1. J'ai donc ajouter a la suite du code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
WkNouveau.ShNouveau.Range("A1:K1").AutoFilter
   With WkNouveau.ShNouveau.Range("A1:K1").Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorLight2
        .TintAndShade = 0.599993896298105
        .PatternTintAndShade = 0
    End With
Cependant cela ne fonctionne pas . il me renvoi Proprièt- ou méthode non gérée par cet objet. à la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 WkNouveau.ShNouveau.Range("A1:K1").AutoFilter
De plus je voudrais également enregistrer le nouveau fichier dans un nom spécifique. J'ai donc mis ce code en place :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Nomfichier = InputBox("Quel est le nom du fichier ?")
WkNouveau.SaveAs Filename:="Bibliothèques\Documents\ " & Nomfichier & ".xlsm"
WkNouveau.Close
Cependant, après ImputBox les deux lignes de code (l'enregistrement et la fermeture) ne fonctionne pas. Il réussi à passer les lignes sans erreur mais le fichier n'est ni enregistrer ni fermer.
Avez vous une explication ?

Bien entendu tout le code présenter est à la suite, au clic sur un bouton.

Cordialement,
Passepartout007