Bonjour,

Après avoir cherché, je ne trouve aucune bonne solution. Je code sur vba 2013 et je travaille avec des fichiers xls

voici un bout de code qui me renvoie l'erreur en objet

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
 
'Désactiver les updates de l'écran pour que la macro gagne en vitesse
Application.ScreenUpdating = False
 
 
'Dans cette partie, on ne travaillera que sur le controlleur et l'export.
 
'chercher la dernière ligne
Workbooks("Export_sites.xls").Activate
Dim lLigne As Long
lLigne = Worksheets("sites").Range("A1").End(xlDown).Row
 
MsgBox lLignes
 
If Not (Worksheets("sites").AutoFilterMode) Then
    MsgBox "toto"
End If
 
'Tri pour préparer aux traitements ultérieurs
Worksheets("sites").Range("X2:X" + CStr(lLigne)).Select
Worksheets("sites").AutoFilter.Sort.SortFields.Clear
Worksheets("sites").AutoFilter.Sort.SortFields.Add Key:=Range _
    ("X2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
    xlSortNormal
With ActiveWorkbook.Worksheets("sites").AutoFilter.Sort
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
Les deux messages box me renvoient quelque chose. Le nommage est donc correct pour les worksheets et workbooks et l'autofilter est désactivé.

Sur certains exports je n'ai pas de message d'erreur et sur d'autres j'en ai. Je ne sais pas d'où ça vient.

Quelqu'un aurait une idée ?

Merci de votre aide