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 :

Ajouter un tri a mon code


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 211
    Par défaut Ajouter un tri a mon code
    Bonsoir le forum,

    j'ouvre ce fil car j'ai un autre souci sur ce code qui me sert à masquer des lignes et colonnes et à imprimer le tableau mais je voudrais ajouter un tri du plus petit au plus grand sur la colonne EO
    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
    Sub PlacementSurLaLigneCourse1(ByVal WsName As String)
    Application.ScreenUpdating = False
    Dim ws As Worksheet
    Dim MaPlage As Range
        Set ws = Worksheets(WsName)
        Derlig = ws.Range("EL" & ws.Rows.Count).End(xlUp).Row
        Set MaPlage = ws.Range("EH1:FF" & Derlig)
     
    Rows("2:4").Hidden = True
    Columns("EM:ES").EntireColumn.Hidden = True
    Columns("EU:FF").EntireColumn.Hidden = True
    With ws.PageSetup
        .PrintArea = MaPlage.Address
           '.LeftFooter = ""
           .CenterFooter = "&""Times New Roman,italique""&18" & [FT8] & Chr(10) & [FW8] & " , " & [FX8] & " , " & [FY8] & "   " & [FZ8] & "  " & [GA8] & "  " & Chr(10) & [GC8]
           '.RightFooter = ""
    End With
    With ws.PageSetup
    .PrintArea = MaPlage.Address
           '.LeftHeader = ""
           .CenterHeader = "&""Times New Roman,italique""&20" & [ET5] & Chr(10) & [EM2] & "  " & [FO8] & Chr(10) & Chr(10) & [EK3] & Chr(10) & [EI4]
            '.RightHeader = ""
    End With
        ws.PrintOut Copies:=4, Collate:=True
    Application.ScreenUpdating = True
    End Sub
    merci

  2. #2
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut ajouter un tri à mon code
    bonjour,

    Regarde si la solution de Philippe te convient dans dans la discussion ci-dessous:

    trie-horizontale-ne-marche-pas

    cordialement.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    J'ai adapté votre code pour exécuter un tri sur la colonne EO. A adapter suivant que votre ligne de titre n'est pas la ligne 1.


    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
    Sub PlacementSurLaLigneCourse1(ByVal WsName As String)
     
    Dim ws As Worksheet
    Dim MaPlage As Range
    Dim NbColonnes As Long
    Dim LigneDeTitre As Long
    Dim DerLig As Long
     
     
     
     
     Application.ScreenUpdating = False
     
     
     
        Set ws = Worksheets(WsName)
        DerLig = ws.Range("EL" & ws.Rows.Count).End(xlUp).Row
        Set MaPlage = ws.Range("EH1:FF" & DerLig)
     
        ws.Activate
        LigneDeTitre = 1
        NbColonnes = Cells(LigneDeTitre, ws.Columns.Count).End(xlToLeft).Column
     
        Range(Cells(LigneDeTitre, 1), Cells(DerLig, NbColonnes)).Select
     
        Selection.Sort Key1:=Range("EO" & LigneDeTitre), Order1:=xlAscending, Header:=xlYes, _
              OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
     
     Exit Sub
     
    Rows("2:4").Hidden = True
    Columns("EM:ES").EntireColumn.Hidden = True
    Columns("EU:FF").EntireColumn.Hidden = True
    With ws.PageSetup
        .PrintArea = MaPlage.Address
           '.LeftFooter = ""
           .CenterFooter = "&""Times New Roman,italique""&18" & [FT8] & Chr(10) & [FW8] & " , " & [FX8] & " , " & [FY8] & "   " & [FZ8] & "  " & [GA8] & "  " & Chr(10) & [GC8]
           '.RightFooter = ""
    End With
    With ws.PageSetup
    .PrintArea = MaPlage.Address
           '.LeftHeader = ""
           .CenterHeader = "&""Times New Roman,italique""&20" & [ET5] & Chr(10) & [EM2] & "  " & [FO8] & Chr(10) & Chr(10) & [EK3] & Chr(10) & [EI4]
            '.RightHeader = ""
    End With
        ws.PrintOut Copies:=4, Collate:=True
    Application.ScreenUpdating = True
    End Sub
    Cordialement.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 211
    Par défaut
    bonjour le forum, Eric KERGRESSE ,

    Il me range bien la colonne "EO" mais il me sélectionne toute la page donc mes 13 tableaux alors qu'on lui demande de sélectionner la plage "EH1:FF" qui correspond à mon dernier tableau et ensuite il doit me masquer les lignes 2à4 et colonnes indiquées dans le code comme demander
    merci de ton aide
    jack

    Re bonsoir le forum, Eric KERGRESSE,

    Yahouuuuuuuuuuuuuuuuuuu, j'ai trouvé, j'ai ajouté 143 sur cette ligne pour le démarrage de la selection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(LigneDeTitre, 143), Cells(DerLig, NbColonnes)).Select
    et j'ai mis un " apostrophe " ici
    et maintenant cela fonctionne, mais à quoi servait le Exit Sub ??
    merci beaucoup
    jack

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Désolé de n'avoir pas retiré le Exit Sub. Celui-ci m'a servi à tester la première partie du code sans aller plus loin.

    L'important c'est que vous ayez compris et réussi à vous dépanner.

    Bon courage pour la suite.

    Cordialement.

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

Discussions similaires

  1. Ajout de SDL dans mon code
    Par Bourg dans le forum SDL
    Réponses: 1
    Dernier message: 25/03/2015, 08h54
  2. Ajouter une interface graphique à mon code
    Par c4n4r dans le forum Débuter
    Réponses: 0
    Dernier message: 20/09/2013, 10h19
  3. Ajouter un SIERREUR a mon code VBA rechercheV (VLOOKUP)
    Par mogo107 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/06/2013, 08h04
  4. ajouter un script .sql à mon code JAVA
    Par samia004 dans le forum JDBC
    Réponses: 9
    Dernier message: 13/07/2010, 16h04
  5. ajout critère croisement données à mon code
    Par wahabts7 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/03/2010, 19h37

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