VBA incorrect pour filtre automatique

Fermé
Claire4444 Messages postés 15 Date d'inscription vendredi 18 août 2017 Statut Membre Dernière intervention 23 octobre 2018 - Modifié le 24 oct. 2018 à 09:07
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 - 24 oct. 2018 à 09:03
Bonjour,

Mon code VBA ne fonctionne pas...
L'idée est d'effectuer automatiquement un filtre alphabétique à l'ouverture du fichier, de la colonne C "Projets" de mon tableau "Tableau1" sur mon onglet "BD"...

Je précise que "Tableau1" est une copie d'un autre fichier donc avec formule :
='PLAN PROJETS 2018 - Claire - Copie.xlsx'!Tableau1[@Projets]

J'ai essayé 2 codes:

Private Sub Workbook_Open() 
ActiveWorkbook.Worksheets("BD").ListObjects("Tableau1").Sort.SortFields.Clear 
ActiveWorkbook.Worksheets("BD").ListObjects("Tableau1").Sort.SortFields. _ 
Add Key:=Range("Tableau1[#All,[Projets]]"), SortOn:=xlSortOnValues, _ 
Order:=xlAscending 
ActiveWorkbook.Worksheets("BD").ListObjects("Tableau1").Sort.Apply 
End Sub 



Private Sub Workbook_Open()
ActiveWorkbook.Worksheets("BD").ListObjects("Tableau1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("BD").ListObjects("Tableau1").Sort.SortFields. _
Add Key:=Range("Tableau1[#All,[Projets]]"), SortOn:=xlSortOnValues, _
Order:=xlAscending
With ActiveWorkbook.Worksheets("BD").ListObjects("Tableau1").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub



Avez-vous une idée de l'erreur qui fait que ça ne fonctionne pas??

Merci pour votre aide!
Claire
A voir également:

1 réponse

fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
24 oct. 2018 à 09:03
bonjour,
voici un code que j'utilise dans un de mes fichiers :
    Range("A1:C1").Select
    Selection.AutoFilter
    Worksheets("bddCPVA").AutoFilter.Sort.SortFields.Clear
    Worksheets("bddCPVA").AutoFilter.Sort.SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With Worksheets("bddCPVA").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("A1:C1").Select
    Selection.AutoFilter


pour moi, dans ton code, en premier lieu il manquerait
    Range("A1:C1").Select
    Selection.AutoFilter

et
    , DataOption:=xlSortNormal



0