Microsoft 365 Bug Erreur 438

  • Initiateur de la discussion Initiateur de la discussion pompaero
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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... 😕

Je bloque complètement.
Merci par avance à vous
Cdlt
pompaero
 
Solution
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
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
 
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.
 
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.
 
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:
cette option facultative a été ajoutée avec .SortFields.Add2 en 2018 et la compatibilité ascendante n'est pas assurée
subFieldFacultatifVariantSpécifie le champ à trier pour un type de données (par exemple, population de géographie ou volume pour les stocks).
 
Dernière édition:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
17
Affichages
934
Réponses
11
Affichages
728
Réponses
6
Affichages
950
Réponses
1
Affichages
1 K
Retour