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 :

Fusionner 4 codes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut Fusionner 4 codes
    Bonsoir

    dans mon classeur j'ai des bouttons d'impression avec des codes suivants:


    Pour la feuille DECSALAIRECOUV

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("DECSALAIRECOUV").PageSetup.PrintArea = "A1:H100"
    Pour la feuille DECSALAIRE

    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
    Select Case Range("I5").Value
    Case 1
    ActiveSheet.PageSetup.PrintArea = "A1:J35": ActiveSheet.PrintOut
    Case 2
    ActiveSheet.PageSetup.PrintArea = "A1:J71": ActiveSheet.PrintOut
    Case 3
    ActiveSheet.PageSetup.PrintArea = "A1:J107": ActiveSheet.PrintOut
    Case 4
    ActiveSheet.PageSetup.PrintArea = "A1:J143": ActiveSheet.PrintOut
    Case 5
    ActiveSheet.PageSetup.PrintArea = "A1:J179": ActiveSheet.PrintOut
    Case 6
    ActiveSheet.PageSetup.PrintArea = "A1:J215": ActiveSheet.PrintOut
    Case 7
    ActiveSheet.PageSetup.PrintArea = "A1:J251": ActiveSheet.PrintOut
    Case 8
    ActiveSheet.PageSetup.PrintArea = "A1:J288": ActiveSheet.PrintOut
    Case 9
    ActiveSheet.PageSetup.PrintArea = "A1:J324": ActiveSheet.PrintOut
    Case 10
    ActiveSheet.PageSetup.PrintArea = "A1:J360": ActiveSheet.PrintOut
     
    End Select
    Pour la feuille occassionnelles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Select Case Range("G2").Value
    Case 1
    ActiveSheet.PageSetup.PrintArea = "A1:G26": ActiveSheet.PrintOut
    Case 2
    ActiveSheet.PageSetup.PrintArea = "A1:G52": ActiveSheet.PrintOut
    Case 3
    ActiveSheet.PageSetup.PrintArea = "A1:G78": ActiveSheet.PrintOut
    Case 4
    ActiveSheet.PageSetup.PrintArea = "A1:104": ActiveSheet.PrintOut
    End Select
    Pour la feuille stagiaires

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Select Case Range("J2").Value
    Case 1
    ActiveSheet.PageSetup.PrintArea = "A1:K27": ActiveSheet.PrintOut
    Case 2
    ActiveSheet.PageSetup.PrintArea = "A1:K56": ActiveSheet.PrintOut
    Case 3
    ActiveSheet.PageSetup.PrintArea = "A1:K85": ActiveSheet.PrintOut
    Case 4
    ActiveSheet.PageSetup.PrintArea = "A1:K114": ActiveSheet.PrintOut
    End Select
    Comment fusionner ces codes merci pour le rendre un seul code en vu de lancer l'impression par un seul boutton

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir,
    ActveSheet correspond à la feuille active (et il n'y en a qu'une à chaque instant).
    Si tu dois te référer à une feuille dont tu n'es pas certain qu'elle soit active, ne le fais pas avec ActiveSheet, mais avec son nom dans la collection Sheets.

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut
    Citation Envoyé par ucfoutu Voir le message
    Bonsoir,
    ActveSheet correspond à la feuille active (et il n'y en a qu'une à chaque instant).
    Si tu dois te référer à une feuille dont tu n'es pas certain qu'elle soit active, ne le fais pas avec ActiveSheet, mais avec son nom dans la collection Sheets.
    Merci pour l'info

    j'ai essayé ce code mais ça marche pas (je suis nul en vba )

    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
    49
     
    Sheets("DECSALAIRECOUV").PageSetup.PrintArea = "A1:H100"
     
    Sheets("DECSALAIRE").Select.Case Range("I5").Value
     
    Case 1
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J35": Sheets("DECSALAIRE").PrintOut
    Case 2
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J71": Sheets("DECSALAIRE").PrintOut
    Case 3
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J107": Sheets("DECSALAIRE").PrintOut
    Case 4
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J143": Sheets("DECSALAIRE").PrintOut
    Case 5
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J179": Sheets("DECSALAIRE").PrintOut
    Case 6
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J215": Sheets("DECSALAIRE").PrintOut
    Case 7
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J251": Sheets("DECSALAIRE").PrintOut
    Case 8
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J288": Sheets("DECSALAIRE").PrintOut
    Case 9
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J324": Sheets("DECSALAIRE").PrintOut
    Case 10
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J360": Sheets("DECSALAIRE").PrintOut
    End Select
     
    Sheets("occassionnelles").Select.Case Range("G2").Value
     
    Case 1
    Sheets("occassionnelles").PageSetup.PrintArea = "A1:G26": Sheets("occassionnelles").PrintOut
    Case 2
    Sheets("occassionnelles").PageSetup.PrintArea = "A1:G52": Sheets("occassionnelles").PrintOut
    Case 3
    Sheets("occassionnelles").PageSetup.PrintArea = "A1:G78": Sheets("occassionnelles").PrintOut
    Case 4
    Sheets("occassionnelles").PageSetup.PrintArea = "A1:104": Sheets("occassionnelles").PrintOut
    End Select
     
    Sheets("stagiaires").Select.Case Range("J2").Value
    Case 1
    Sheets("stagiaires").PageSetup.PrintArea = "A1:K27": Sheets("stagiaires").PrintOut
    Case 2
    Sheets("stagiaires").PageSetup.PrintArea = "A1:K56": Sheets("stagiaires").PrintOut
    Case 3
    Sheets("stagiaires").PageSetup.PrintArea = "A1:K85": Sheets("stagiaires").PrintOut
    Case 4
    Sheets("stagiaires").PageSetup.PrintArea = "A1:K114": Sheets("stagiaires").PrintOut
    End Select

  4. #4
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    bonsoir,

    j'ai essayé ce code mais ça marche pas (je suis nul en vba )
    et c'est quoi qui marche pas ? tu n'as pas un message d'erreur ?

    c'est pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("DECSALAIRE").Select.Case Range("I5").Value
    mais plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select Case Sheets("DECSALAIRE").Range("I5").Value

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut
    Merci infiniment M. JackOuYA

    vous avez raison

    voici le code qui marche bien chez moi


    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
    49
    50
    51
    52
    53
     
    Sheets("DECSALAIRECOUV").PageSetup.PrintArea = "A1:H100"
     
     
    Select Case Sheets("DECSALAIRE").Range("I5").Value
    Case 1
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J35"
    Case 2
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J71"
    Case 3
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J107"
    Case 4
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J143"
    Case 5
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J179"
    Case 6
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J215"
    Case 7
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J251"
    Case 8
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J288"
    Case 9
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J324"
    Case 10
    Sheets("DECSALAIRE").PageSetup.PrintArea = "A1:J360"
    End Select
     
     
    Select Case Sheets("occassionnelles").Range("G2").Value
    Case 1
    Sheets("occassionnelles").PageSetup.PrintArea = "A1:G26"
    Case 2
    Sheets("occassionnelles").PageSetup.PrintArea = "A1:G52"
    Case 3
    Sheets("occassionnelles").PageSetup.PrintArea = "A1:G78"
    Case 4
    Sheets("occassionnelles").PageSetup.PrintArea = "A1:104"
    End Select
     
    Select Case Sheets("stagiaires").Range("J2").Value
     
    Case 1
    Sheets("stagiaires").PageSetup.PrintArea = "A1:K27"
    Case 2
    Sheets("stagiaires").PageSetup.PrintArea = "A1:K56"
    Case 3
    Sheets("stagiaires").PageSetup.PrintArea = "A1:K85"
    Case 4
    Sheets("stagiaires").PageSetup.PrintArea = "A1:K114"
    End Select
     
    Sheets(Array("DECSALAIRECOUV", "DECSALAIRE", "occassionnelles" _
                , "stagiaires")).PrintOut Copies:=1, ActivePrinter:="PDFCreator on Ne01:", Collate:=True

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

Discussions similaires

  1. [Débutant] fusionner code javascript et c#
    Par Msysteme dans le forum ASP.NET
    Réponses: 2
    Dernier message: 13/07/2014, 14h38
  2. Windows : Microsoft souhaite fusionner la base de code de ses OS
    Par Hinault Romaric dans le forum Windows
    Réponses: 25
    Dernier message: 08/11/2013, 20h47
  3. Explication code faq fusionner 2 tables
    Par karidrou dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/01/2013, 21h13
  4. De la rapidité du code
    Par jfloviou dans le forum Contribuez
    Réponses: 233
    Dernier message: 29/05/2009, 02h17
  5. OmniORB : code sous Windows et Linux
    Par debug dans le forum CORBA
    Réponses: 2
    Dernier message: 30/04/2002, 17h45

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