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 :

tri de chaque colonne par ordre décroissant


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 45
    Points
    45
    Par défaut tri de chaque colonne par ordre décroissant
    Bonjour,

    comme beaucoup de monde sur ce forum, j'ai des problèmes avec mon programme.

    Le but du programme est de trier dans l'ordre décroissant 36 colonnes, sauf si sa ligne 3 est vide. Quand je lance mon programme, on me dit qu'il il y une erreur d'exécution '1004' (erreur définie par l'application ou par l'objet) au niveau de la ligne en rouge.

    Je suppose que mon erreur vient de la ligne en bleue...

    Merci d'avance pour votre aide,

    Titened


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    For col = 1 To 36
        If IsEmpty(Sheets("brouillon").Cells(3, col)) = True Then
            fun = 2
        Else
            derlig = Sheets("brouillon").Cells(65536, col).End(xlUp).Row
         
            Worksheets("brouillon").Range(Cells(3, col), Cells(derlig, col)).Select
        
            Selection.Sort Key1:=Sheets("brouillon").Range(Cells(3, col)), Order1:=xlDescending, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    
        End If
    Next col

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,
    essayes comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    With Sheets("brouillon")
        For col = 1 To 36
            If IsEmpty(.Cells(3, col)) Then
                fun = 2
            Else
                derlig = .Cells(65536, col).End(xlUp).Row
                .Range(Cells(3, col), Cells(derlig, col)).Sort Key1:=.Range(Cells(3, col).Address), Order1:=xlDescending, _
                    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
            End If
        Next col
    End With

  3. #3
    Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Maintenant il m'affiche une erreur d'exécution '9' sur cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .Range(Cells(3, col), Cells(derlig, col)).Sort Key1:=.Range(Cells(3, col).Address), Order1:=xlDescending, _
                    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Merci beaucoup pour ton aide !

  4. #4
    Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Je me sens bête, le programme a marché une fois. Je n'ai rien changé et il me remet l'erreur 9 (l'indice n'est pas dans la sélection) ou 1004 (erreur définie par l'application ou l'objet)

    Merci pour votre aide et votre patience

  5. #5
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Peux-tu mettre ton code complet et indiquer sur quellle ligne, une erreur est générée, parce que j'avais testé sur un fichier bidon avant de t'envoyer mon code, sans problème.

    PS : je pense qu'il faut ajouter un point "." devant chaque "cells" car tu ne provoques peut-être pas la procédure à partir de la même feuille

  6. #6
    Membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    en ajoutant les points devant Cells, ça marche

    Une fois de plus merci beaucoup !!!!!

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

Discussions similaires

  1. Optimisation de tri de nombres sur plusieurs colonnes par ordre croissant
    Par jurassic pork dans le forum Général Python
    Réponses: 5
    Dernier message: 05/02/2015, 22h56
  2. Réponses: 2
    Dernier message: 26/02/2014, 13h30
  3. Trier les données dans 1 tableau par ordre décroissant
    Par Blunet dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 23/11/2005, 09h56
  4. [VB6][ListView] Tri sur chaque colonne
    Par frlap dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 26/05/2004, 11h20
  5. [] Tri d'un tableau par ordre alphabétique
    Par cafeine dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/09/2002, 08h43

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