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 :

[VBA-E] Ordonner les feuilles d'un classeur


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 89
    Points : 59
    Points
    59
    Par défaut [VBA-E] Ordonner les feuilles d'un classeur
    Bonjour à tous,
    j'aimerai savoir s'il est possible d'ordonner par un code les feuilles d'un classeur.
    J'aimerai par exemple que la feuille en 1ere position soit la feuille nommée "Janv", la 2eme "Fev"...
    D'avance, merci pour votre aide!

  2. #2
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    bonjour.
    les feuille sont deja creer ou est ce que tu ve les creer?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 89
    Points : 59
    Points
    59
    Par défaut
    Non les feuilles sont déjà crées et nommées.
    Merci!

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    quels sont les nom des feuilles :
    • janv
      févr
      mars
      avr
      mai
      juin
      juil
      août
      sept
      oct
      nov
      déc


    :

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 89
    Points : 59
    Points
    59
    Par défaut
    oui, entre autre.
    il y d'autres noms aussi...

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    tiens voilà un peu de code

    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
    '
    ' Fonction de test existance feuille dans classeur courant
    '
    Function FeuilleExiste(stFeuille As String)
     On Error GoTo ErrFeuil
     Debug.Print Sheets(stFeuille).Name
     
     FeuilleExiste = True
     Exit Function
    ErrFeuil:
     FeuilleExiste = False
    End Function
    '
    ' Procdedure de tri des feuilles "Mensuelles"
    '
    Sub triFeuille()
     Dim i As Integer
     Dim tMois(1 To 12) As String
     
    'Une premiére boucle pour vérifier les noms des feuillses
     For i = 1 To 12
       tMois(i) = Format(DateSerial(2005, i, 1), "mmm")
      '  Sheets.Add  ' CODE DE TEST Pour créer les feuilles...
      ' ActiveSheet.Name = tMois(i)
     
       While Not FeuilleExiste(tMois(i)) And tMois(i) <> ""
         tMois(i) = InputBox("Feuille du mois : " & i & " Inexistante corrigez son nom ", "Erreu", tMois(i))
        Wend
       If tMois(i) = "" Then
         MsgBox "Abandon opérateur", vbCritical
         Exit Sub
       End If
      Next
      ' La boucle de déplacement...
      For i = 2 To 12
             Sheets(tMois(i)).Move after:=Sheets(tMois(i - 1))
      Next
     
    End Sub
    dis nous si tu comprends pas fonctionnement...

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    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
     
    Option Explicit
     
     
     
    Dim macoll As New Collection
     
    Sub ajcoll(x As String)
    If macoll.Count = 0 Then
    macoll.Add (x)
    Exit Sub
    End If
    If x < macoll(1) Then
    macoll.Add Item:=x, before:=1
    Exit Sub
    End If
    If x > macoll(macoll.Count) Then
    macoll.Add Item:=x, after:=macoll.Count
    Exit Sub
    End If
    Dim boucle As Integer
    For boucle = 1 To macoll.Count - 1
    If x > macoll(boucle) And x < macoll(boucle + 1) Then
    macoll.Add Item:=x, after:=boucle
    Exit Sub
    End If
    Next boucle
    End Sub
     
    Sub trionglet(nomclass As String)
    Dim u As String
    Dim v As String
    Dim boucle As Integer
    Dim rebouc As Integer
    Dim monclass As Workbook
    Windows(nomclass).Activate
    For boucle = 1 To Sheets.Count
    ajcoll (Sheets(boucle).Name)
    Next boucle
    For rebouc = 1 To macoll.Count - 1
    For boucle = 1 To macoll.Count - 1
    u = macoll(boucle)
    v = macoll(boucle + 1)
    Sheets(u).Move before:=Sheets(v)
     
    Next boucle
    Next rebouc
    End Sub

  8. #8
    Membre éclairé
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Points : 854
    Points
    854
    Par défaut
    Un rien plus simple :

    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
    Public Sub ClasserFeuille()
        On Error Resume Next
     
        ThisWorkbook.Worksheets("decembre").Move , ThisWorkbook.Worksheets("janvier")
        ThisWorkbook.Worksheets("novembre").Move , ThisWorkbook.Worksheets("janvier")
        ThisWorkbook.Worksheets("octobre").Move , ThisWorkbook.Worksheets("janvier")
        ThisWorkbook.Worksheets("septembre").Move , ThisWorkbook.Worksheets("janvier")
        ThisWorkbook.Worksheets("aout").Move , ThisWorkbook.Worksheets("janvier")
        ThisWorkbook.Worksheets("juillet").Move , ThisWorkbook.Worksheets("janvier")
        ThisWorkbook.Worksheets("juin").Move , ThisWorkbook.Worksheets("janvier")
        ThisWorkbook.Worksheets("mai").Move , ThisWorkbook.Worksheets("janvier")
        ThisWorkbook.Worksheets("avril").Move , ThisWorkbook.Worksheets("janvier")
        ThisWorkbook.Worksheets("mars").Move , ThisWorkbook.Worksheets("janvier")
        ThisWorkbook.Worksheets("fevrier").Move , ThisWorkbook.Worksheets("janvier")
    End Sub

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 89
    Points : 59
    Points
    59
    Par défaut
    Merci beaucoup à tous, ca marche nickel!
    Bonne fin de journée!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/10/2014, 20h48
  2. [XL-2007] Ordonner les feuilles d'un classeur
    Par pasterlouis dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/06/2013, 18h56
  3. [XL-2007] Ordonner les feuilles d'un classeur Excel
    Par pasterlouis dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/05/2013, 23h43
  4. [VBA]activer les feuilles d'un classeur Excel
    Par jemigo dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/01/2006, 17h58
  5. Action sur toutes les feuilles d'un classeur
    Par beurnoir dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 23/12/2005, 15h11

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