Erreur 438 [Résolu]

Signaler
Messages postés
1988
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
9 juillet 2020
-
Messages postés
1988
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
9 juillet 2020
-
Bonjour,

J'ai fait une macro pour le fichier d'un membre CCM pour le tri de plusieurs plages excel,avec un bouton activx,chez moi cela fonctionne très bien,chez lui il a le message suivant:

erreur d’exécution 438
propriété ou méthode non gérée par cet objet

D’où peut provenir le problème?
Merci pour votre aide
Cordialement



Configuration: Windows / Firefox 69.0

8 réponses

Messages postés
11508
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
10 juillet 2020
659
bonjour, sur quelle ligne de code?
Messages postés
28935
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juillet 2020
2 608
Bonjour,

Version du excel utilisé ?
Système d'exploitation ?
Langue de son Excel et de son OS ?
Références chargées par son Excel (dans l'éditeur de macros VBE ) ?
Code utilisé ?
Sur quelle ligne le message apparaît ?

Bref... que d'informations manquantes pour espérer obtenir une réponse fiable...
Merci de faire un petit effort.

Et au cas où, une petite recherche sur cette erreur m'a permis de trouver une discussion traitant d'un souci lié à une mise à jour :
https://forum.excel-pratique.com/viewtopic.php?t=60484






Messages postés
28935
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juillet 2020
2 608
Bonjour
Il suffit de remplacer add2 par add.

Messages postés
1921
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
27 novembre 2019
339
Bonjour,

Il se peut que tu utilises un élément comme un objet sans que s'en soit un.

Comme str = trim(quelquechose) str.lenght

Dans cette exemple trim retourne un string et non un objet. Ce qui fait que str.lenght ne peut fonctionner.

Regarde les type de retours des fonction que tu utilises.

Cordialement
Messages postés
1988
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
9 juillet 2020
317
Bonjour à tous
Merci pour vos réponses
Ci-dessous la macro qui concerne 8 plages
https://www.cjoint.com/c/IJyjkOeIIUh

Messages postés
28935
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juillet 2020
2 608
Merci de poster ton code directement sur le forum (en utilisant les balises de code )
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Messages postés
1988
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
9 juillet 2020
317
Sub tri_poules()
'
' TRI_POULES Macro
'

'
    Range("A7:G10").Select
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Add2 Key:= _
        Range("G7:G10"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Classement Poules").Sort
        .SetRange Range("A7:G10")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("I7:O10").Select
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Add2 Key:= _
        Range("O7:O10"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Classement Poules").Sort
        .SetRange Range("I7:O10")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("Q7:W10").Select
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Add2 Key:= _
        Range("W7:W10"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Classement Poules").Sort
        .SetRange Range("Q7:W10")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("Y7:AE10").Select
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Add2 Key:= _
        Range("AE7:AE10"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _
        :=xlSortNormal
    With ActiveWorkbook.Worksheets("Classement Poules").Sort
        .SetRange Range("Y7:AE10")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveWindow.ScrollColumn = 1
    ActiveWindow.SmallScroll Down:=12
    Range("A24:G24").Select
    Range("A24:G27").Select
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Add2 Key:= _
        Range("G24:G27"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _
        :=xlSortNormal
    With ActiveWorkbook.Worksheets("Classement Poules").Sort
        .SetRange Range("A24:G27")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("I24:O27").Select
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Add2 Key:= _
        Range("O24:O27"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _
        :=xlSortNormal
    With ActiveWorkbook.Worksheets("Classement Poules").Sort
        .SetRange Range("I24:O27")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("Q24:W27").Select
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Add2 Key:= _
        Range("W24:W27"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _
        :=xlSortNormal
    With ActiveWorkbook.Worksheets("Classement Poules").Sort
        .SetRange Range("Q24:W27")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("Y24:AE27").Select
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Add2 Key:= _
        Range("AE24:AE27"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _
        :=xlSortNormal
    With ActiveWorkbook.Worksheets("Classement Poules").Sort
        .SetRange Range("Y24:AE27")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub



Messages postés
28935
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juillet 2020
2 608
Maintenant il faudrait répondre aux questions que nous t'avons posé :

Version du excel utilisé ?
Système d'exploitation ?
Langue de son Excel et de son OS ?
Références chargées par son Excel (dans l'éditeur de macros VBE ) ?
Sur quelle ligne le message apparaît ?
Messages postés
1988
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
9 juillet 2020
317 >
Messages postés
28935
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juillet 2020

Je vois cela avec lui et je vous tiens au courant
Crdlt
Messages postés
1988
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
9 juillet 2020
317
Re bonjour

Version excel 2016 français
Système exploitation Win 10
Ligne qui bug

ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields.Add2 Key:= _
Range("G7:G10"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
merci pour l'aide
Messages postés
11508
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
10 juillet 2020
659
dans ce cas-là, la première chose que je ferais, pour confirmer que c'est la méthode Add2 qui pose problème:
Dim sf As SortFields
Set sf = ActiveWorkbook.Worksheets("Classement Poules").Sort.SortFields
sf.Add2 Key:= _
    Range("G7:G10"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
    xlSortNormal

peux-tu partager le fichier qui provoque l'erreur?
Messages postés
1988
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
9 juillet 2020
317
Bonjour à tous les 2
Il semblerait que le fichier fonctionne normalement ,j'ai remplacé add2 par add.
Pouvez vous svp me dire pourquoi cela fonctionnait chez moi et pas chez lui?
Cordialement
Messages postés
28935
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juillet 2020
2 608
La fonction add2 a été ajoutée dans les versions "récentes" d'office (après 2016 il me semble)
Il faut croire que ça version est plus ancienne ou qu'il n'a pas fait les mises à jour.
Mais bon... à moins d'avoir réellement besoin du add2 (pour du sous sous item... )... il n'y a acun intérêt à l'utiliser à la place de la fonction add
Messages postés
1988
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
9 juillet 2020
317 >
Messages postés
28935
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 juillet 2020

Merci pour ces renseignements
Bonne journée