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 :

Code RANGE avec SORT


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Novembre 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2016
    Messages : 39
    Par défaut Code RANGE avec SORT
    Bonjour

    J’essaie de trier un tableau de 12 colonnes sur( actuellement) 195 lignes en utilisant le code suivant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ActiveWorkbook.Worksheets("Source").Sort.SortFields.Add2 Key:=Range("G2:G195") _
            , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    Mais le nombre de lignes est variable et je ne trouve pas la notation de ‘Range’ correcte pour tenir compte du nombre actuel (variable) de lignes.

    En utilisant par exemple le code suivant cela ne fonctionne (bien-sûr) pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Endrow = Range("A" & "65536").End(xlUp).Row
     Range("G2:G" & Endrow)
    Merci pour toute suggestion utile à mon problème.

  2. #2
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Bonjour,

    Vu ton essai de code je pense que tu as compris l'idée; remplacer le numéro de ligne 195 par le numéro de la dernière ligne via une variable.

    Dans cette ligne il te faut remplacer 195 par une variable

    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveWorkbook.Worksheets("Source").Sort.SortFields.Add Key:=Range("G2:G195"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal


    Pour trouver le numéro de la dernière ligne d'une colonne complétée l'une des possibilités est celle que tu utilises mais il te faut revoir la syntaxe


    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim Endrow as long
    Endrow = ActiveWorkbook.Worksheets("Source").Range("A" & 65536).End(xlUp).Row


    A partir de ce moment la variable Endrow vaut le numéro de la dernière ligne en A. Il ne te reste plus qu'à adapter ta ligne de code de tri en intégrant l'utilisation de la variable


    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveWorkbook.Worksheets("Source").Sort.SortFields.Add  Key:=Range("G2:G" & Endrow), SortOn:=xlSortOnValues, Order:=xlAscending,  DataOption:=xlSortNormal


    Et donc ce qui te donne


    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim Endrow as long
     
    Endrow = ActiveWorkbook.Worksheets("Source").Range("A" & 65536).End(xlUp).Row
     
    ActiveWorkbook.Worksheets("Source").Sort.SortFields.Add  Key:=Range("G2:G" & Endrow), SortOn:=xlSortOnValues, Order:=xlAscending,  DataOption:=xlSortNormal


    Sinon le tout en même temps mais tu perds en lisibilité de code
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveWorkbook.Worksheets("Source").Sort.SortFields.Add  Key:=Range("G2:G" & ActiveWorkbook.Worksheets("Source").Range("A" & 65536).End(xlUp).Row), SortOn:=xlSortOnValues, Order:=xlAscending,  DataOption:=xlSortNormal

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Novembre 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2016
    Messages : 39
    Par défaut Code Range avec Sort
    Bonjour Alex 020181

    Merci pour ta réponse super rapide qui résout mon problème.

    Jacksun

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Novembre 2016
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2016
    Messages : 39
    Par défaut Code Range avec Sort
    Re-bonjour Alex20181

    Ce problème est résolu, bien-entendu, j'avais oublié de le marquer "Résolu" avant d'envoyer ma réponse.
    Sorry

    Jacksun

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

Discussions similaires

  1. Insertion code html avec javascript
    Par totoranky dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/02/2006, 16h04
  2. Est-ce possible avec sort ??
    Par LE NEINDRE dans le forum Langage
    Réponses: 1
    Dernier message: 22/12/2005, 17h59
  3. [VBA Excel] problème de range avec find
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/11/2005, 13h56
  4. [debutante][list] trier avec sort()
    Par norkius dans le forum Débuter
    Réponses: 10
    Dernier message: 24/10/2005, 18h13
  5. Pb de tri avec "sort"
    Par blueice dans le forum Langage
    Réponses: 2
    Dernier message: 20/10/2005, 12h19

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