IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Message d'erreur dans un code [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut Message d'erreur dans un code
    Bonjour à tous,

    J'ai mis en place ce code qui est censé me trier les notes de mon tableau de la plus grande à la plus petite.

    Mais voilà, j'ai changé d'ordinateur, je suis sur la version Excel 2003 et un message d'erreur apparaît sur la ligne en rouge de mon code. J'ai la même version d'Excel sur les 2 postes.

    Le message d'erreur est : "Erreur d'exécution 438 - Propriétée ou méthode non gérée par cet objet".

    Pouvez m'éclairer à ce sujet et m'aider à trouver la solution s'il vous plait ?

    Je vous en remercie par avance

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim LastLig As Long, NewLig As Long, Nb As Long
    If Target.Address = "$A$2" Then
       Union(Range("A4:H" & Rows.Count), Range("J4:K" & Rows.Count), Range("M4:M" & Rows.Count)).ClearContents
       If Target <> "" Then
          With Sheets("Général")
            .Range("A3").AutoFilter
             LastLig = .Cells(Rows.Count, "G").End(xlUp).Row
             If LastLig < 4 Then
             If .Range("A3").AutoFilter = True Then .Range("A3").AutoFilter
             Exit Sub
             End If
             With .Range("A3:N" & LastLig)
                .AutoFilter
                .AutoFilter field:=7, Criteria1:=Target
             End With
             Nb = .Range("A3:A" & LastLig).SpecialCells(xlCellTypeVisible).Count - 1
             If Nb > 0 Then
                Application.EnableEvents = False
                .Range("A4:F" & LastLig).SpecialCells(xlCellTypeVisible).Copy Range("A4")
                .Range("I4:J" & LastLig).SpecialCells(xlCellTypeVisible).Copy Range("G4")
                .Range("L4:M" & LastLig).SpecialCells(xlCellTypeVisible).Copy
                Range("J4").PasteSpecial xlPasteValues
                Application.CutCopyMode = False
                Application.EnableEvents = True
             End If
             .Range("A3").AutoFilter
            Range("A3").Select
          End With
          Range("A3").Select
        ActiveWorkbook.Worksheets("J").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("J").Sort.SortFields.Add Key:=Range("K4:K299"), _
            SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
        ActiveWorkbook.Worksheets("J").Sort.SortFields.Add Key:=Range("B4:B299"), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("J").Sort
            .SetRange Range("A3:L500")
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        Range("A3").Select
       End If
    End If
    AutoFitSheet
    End Sub

  2. #2
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonsoir,

    Comment résoudre ce problème ? Par quoi dois-je remplacer cette partie de code ?

    Merci par avance

  3. #3
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Je crois que l'objet "SortFields" n'existe pas en Excel 2003 mais je dis bien "je crois" car je n'ai pas cette version pour pouvoir contrôler.

    Hervé.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour,

    Après contrôle, ce code a été fait sous Excel 2007 c'est pour cela que je ne peux pas le transposer à Excel 2003.

    Que dois-je mettre pour que cela fonctionne en Excel 2003? Car cette application doit être mise sur la version Excel 2003 je n'ai pas la possiblité de changer la version.

    Merci par avance pour votre aide

    Citation Envoyé par Theze Voir le message
    Bonjour,

    Je crois que l'objet "SortFields" n'existe pas en Excel 2003 mais je dis bien "je crois" car je n'ai pas cette version pour pouvoir contrôler.

    Hervé.
    Oui tu as raison, lorsque j'appuie sur F1, cette méthode n'est pas connue.

  5. #5
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Salut René,
    via l'enregistreur de macro tu trouveras aisément la réponse.

    Bonne journée.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour,

    Il y a plusieurs codes qui ne fonctionnent pas. Alors j'ai réussi à me procurer une version Excel 2007. Je vais remplacer la version 2003 par celle-ci et je pense ne plus rencontrer de soucis.

    Je vous tiens au courant de la suite

    Merci pour vos réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. message d'erreur dans mon code
    Par linda deb dans le forum Langage
    Réponses: 2
    Dernier message: 21/05/2012, 12h37
  2. Récuperer les messages d'erreurs dans le code
    Par TSalm dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/06/2007, 14h30
  3. [VBA] Erreur dans un code. Hierarchie DAO.
    Par snoopy69 dans le forum VBA Access
    Réponses: 3
    Dernier message: 22/10/2005, 23h28
  4. Message d'erreur dans phpMyadmin
    Par riadh100 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 26/09/2005, 15h03
  5. [Tiles]message d'erreur dans un footer (form mal rempli)
    Par clement42 dans le forum Struts 1
    Réponses: 5
    Dernier message: 09/06/2005, 15h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo