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 :
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
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
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
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
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 WkNouveau.ShNouveau.Range("A1:K1").AutoFilter
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.
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
Avez vous une explication ?
Bien entendu tout le code présenter est à la suite, au clic sur un bouton.
Cordialement,
Passepartout007
Partager