Microsoft 365 Bug Erreur 438

pompaero

XLDnaute Impliqué
Bonjour le forum,

Je n'arrive pas à comprendre le soucis suivant, Je rencontre un bug affichant Erreur d'execution '438' Propriété ou méthode non géré par cet objet sur les lignes en orange du code suivant :
VB:
Sub TriDateC()
    ActiveWorkbook.Worksheets("Consigne").ListObjects("TCons").Sort.SortFields. _
        Clear
[COLOR=rgb(247, 218, 100)]    ActiveWorkbook.Worksheets("Consigne").ListObjects("TCons").Sort.SortFields. _
        Add2 Key:=Range("TCons[Validation CdS]"), SortOn:=xlSortOnCellColor, Order _
        :=xlDescending, DataOption:=xlSortNormal[/COLOR]
    ActiveWorkbook.Worksheets("Consigne").ListObjects("TCons").Sort.SortFields. _
        Add2 Key:=Range("TCons[Date]"), SortOn:=xlSortOnValues, Order:= _
        xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Consigne").ListObjects("TCons").Sort
'        .Header = xlYes
'        .MatchCase = False
'        .Orientation = xlTopToBottom
'        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
Ce fichier est sur le réseau de mon travail.
Ce que je ne comprend pas, c'est que le même fichier une fois sur mon ordi perso, fonctionne sans aucun problème... :confused:

Je bloque complètement.
Merci par avance à vous
Cdlt
pompaero
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
Je ne vois rien d'anormal. Mais peut être y verrez vous plus clair en l'écrivant comme ça :
VB:
Sub TriDateC()
   Dim S As Excel.Sort
   Set S = ActiveWorkbook.Worksheets("Consigne").ListObjects("TCons").Sort
   S.SortFields.Clear
   S.SortFields.Add2 Key:=Range("TCons[Validation CdS]"), SortOn:=xlSortOnCellColor, _
      Order:=xlDescending, DataOption:=xlSortNormal
   S.SortFields.Add2 Key:=Range("TCons[Date]"), SortOn:=xlSortOnValues, _
      Order:=xlDescending, DataOption:=xlSortNormal
   S.Apply
   End Sub
Si ce n'est toujours pas le cas, on peut encore l'écrire comme ça :
Code:
Sub TriDateC()
   Dim LOt As ListObject, S As Excel.Sort, LCn As ListColumn
   Set LOt = ActiveWorkbook.Worksheets("Consigne").ListObjects("TCons")
   Set S = LOt.Sort
   S.SortFields.Clear
   Set LCn = LOt.ListColumns("Validation CdS")
   S.SortFields.Add2 Key:=LCn.Range, SortOn:=xlSortOnCellColor, _
      Order:=xlDescending, DataOption:=xlSortNormal
   Set LCn = LOt.ListColumns("Date")
   S.SortFields.Add2 Key:=LCn.Range, SortOn:=xlSortOnValues, _
      Order:=xlDescending, DataOption:=xlSortNormal
   S.Apply
   End Sub
 

pompaero

XLDnaute Impliqué
Bonjour Dranreb

Effectivement je suis d'accord avec toi, je ne vois rien d'anormal non plus d'où le pourquoi que je ne comprends pas le problème.
Je viens de tester tes deux propositions, cela bug également avec le même message d'erreur.
 

Dranreb

XLDnaute Barbatruc
Pour la 2ième, où elle est décomposée, c'est sur le Set LCn ou sur le S.SortFields.Add2 ?
Les version d'Excel ne seraient-elle pas les mêmes et celle du boulot ne supporterait pas le xlSortOnCellColor ? Mettez Option Explicit au début du module de toute façon.
 

pompaero

XLDnaute Impliqué
dans mon code initial le S.SortFields.Add2 fait parti à priori du bug.
Les versions d'Excel sont différentes effectivement celle du boulot est 2016 et la mienne 365.
Option Explicit est bien inscrit eu début du module.
 
Bonjour

J'ai déja rencontré ce problème entre Excel 2010 32 et 365 64
S.SortFields.Add (au lieu de S.SortFields.Add2) passera sur toutes les versions
mais je ne suis pas sur que xlSortOnCellColor passera, lui.
désolé mais plus d'Excel 10 32 pour tester

Cordialement, @+

Ps: je viens de regarder la doc crosoft pour xlSortOnCellColor, ça passera
 
Dernière édition:

pompaero

XLDnaute Impliqué
Yeahou,

Super génial
S.SortFields.Add (au lieu de S.SortFields.Add2) passera sur toutes les versions, je confirme cela fonctionne parfaitement.
Sans toi je n'aurai pas trouvé ce type de problème.
Merci à toi.
A+
Cdlt
pompaero
 

Statistiques des forums

Discussions
311 720
Messages
2 081 920
Membres
101 840
dernier inscrit
SamynoT