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 :

Fonction sort dans Excel avec VBA


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Fonction sort dans Excel avec VBA
    Bonjour à tous

    J'essais de trier une colonne dans Excel via VBA mais j'ai quelques problèmes de gestion de format de cellule. Voici un brève idée de ce que je veux trier
    20
    3.5
    20
    1

    Voici le code que j'utilise présentement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Worksheets("Grouping RA aqueous").Activate
    Rows("18:2000").Select
    Selection.sort Key1:=Range("D18"), order1:=xlDescending, dataoption1:=xlSortValues, ordercustom:=4, MatchCase:=False, Orientation:=xlTopToBottom
    Le problème est que la valeur de 3,5 est trier comme texteèt apparait à la fin de la colonne comme ci

    1
    20
    20
    3.5

    Pouvez-vous m'aider?

    Merci

  2. #2
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Bonsoir,
    Je vois deux possibilité
    La première dans les paramètre régionaux windows définr le . comme séparateur de décimal (ce qui est particulièrement pratique si ton utilisateur lambda fait de même)

    Sinon la deuxième solution remplacer le . par une ,

    En utilisant ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Worksheets("Grouping RA aqueous").Activate
    Rows("18:2000").Select
        Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    Selection.sort Key1:=Range("D18"), order1:=xlDescending, dataoption1:=xlSortValues, ordercustom:=4, MatchCase:=False, Orientation:=xlTopToBottom
    Une version un peu plus jolie (sans les select) qui devrais également fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Worksheets("Grouping RA aqueous").Rows("18:2000").Replace What:=".", Replacement:=",", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    Worksheets("Grouping RA aqueous").Rows("18:2000").sort Key1:=Range("D18"), order1:=xlDescending, dataoption1:=xlSortValues, ordercustom:=4, MatchCase:=False, Orientation:=xlTopToBottom
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

  3. #3
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 133
    Points : 160
    Points
    160
    Par défaut Format ....
    Bonjour ,

    Pour que le tri s'opére correctement , il faut avant tout que la colonne contenant des chiffres ont tous un format numérique .
    Apparemment excel a considéré lors de la saisie 3.5 comme du texte donc format cellule ...Nombre etc ........ et verifié quel est le séparateur decimal dans ta version excel . Car une version excel anglais dans un environnement francais c'est trés ardu !!!!!!


  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Merci Krovak
    Merci beaucoup pour ton aide. Ça marche très bien. J'ai seulemnt inversé le point et la virgule et tout fonctionne à merveille.

Discussions similaires

  1. Colonnes masquées dans Excel avec VBA
    Par boxerbara dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/10/2010, 13h08
  2. Ajout d'un bouton dans une feuille excel avec vba
    Par nsqualli dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/11/2008, 15h35
  3. Rechercher une valeur dans excel avec VBA
    Par kebab666 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/06/2007, 10h00
  4. Réponses: 9
    Dernier message: 19/02/2007, 20h33
  5. [VBA-E]Fonction F2 dans Excel
    Par Ghis123 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 24/05/2006, 15h49

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