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 :

Choix zone d'impression


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 78
    Par défaut Choix zone d'impression
    Bonjour,

    J'ai un fichier excel avec deux zones definies par un nom FOND et ELEC
    Je souhaiterai mettre un bouton imprimer qui me donne le choix avec une case à cocher par champ soit FOND , soit ELEC ou les deux .
    Merci de votre aid e

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Par défaut
    Hello...

    Se serait plus simple avec un fichier...


    Meilleures salutations

    Shmouki

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 78
    Par défaut
    Je vous joins le fichier

    Sur l'onglet sommaire en fait je vousdrez que quand on clique sur imprimez une boite de dialogue s'affiche avec deux cases à cocher ELEC et FOND

    Si la case a cochée ELEC et cochée que ca imprime la plage de donnée nommée ELEC , si c'est FOND qui es cochée que ca imprime la plage de donnée nommée FOND si les deux sont cochées que ca imprime les deux si c'est possible

    merci de votre aide
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Déja du creer un bouton dans ta feuille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    UserForm1.Show
    End Sub
    Tu creer un userform avec 2 boutons options un bouton ok un bouton pour quitter.

    RE,

    Un code pour la feuille, il y a peu être plus simple mais ça semble fonctionner :

    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
    Private Sub CommandButton1_Click()' Bouton OK
    Dim ImpSource As String
     
    If Me.OptionButton1.Value = True Then
        ImpSource = ThisWorkbook.Names("ELEC")
     
    Else
        ImpSource = ThisWorkbook.Names("FOND")
    End If
     
    Dim NomFeuille As String, NomAdresse As String
     
    NomFeuille = Mid(ImpSource, 2)
    pos = InStrRev(NomFeuille, "!")
    NomFeuille = Mid(NomFeuille, 1, pos - 1)
     
    NomAdresse = Mid(ImpSource, pos + 2)
     
    Worksheets(NomFeuille).PageSetup.PrintArea = NomAdresse
    Worksheets(NomFeuille).PrintOut Copies:=1, Collate:=True
    End Sub
     
    Private Sub CommandButton2_Click() ' Bouton quitter
    Unload Me
    End Sub

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Simplification
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton1_Click()
    Dim ImpSource As Range
    Dim NomPlage As String
     
    NomPlage = IIf(Me.OptionButton1.Value, "ELEC", "FOND")
    Set ImpSource = ThisWorkbook.Names(NomPlage).RefersToRange
    Unload Me
    With Worksheets(ImpSource.Parent.Name)
        .PageSetup.PrintArea = ImpSource.Address
        .PrintOut
    End With
    Set ImpSource = Nothing
    End Sub

  6. #6
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Merci mercatog pour la simplification, je trouve ton code limpide

    Edit : En fait j'avais essayé d'utiliser le range mais comme un débutant je crois que j'avais oublié le SET, olala il faut que je prenne des vacances !

  7. #7
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Et au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Worksheets(ImpSource.Parent.Name)
    suffit. Ce qui donne en fin de compte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton1_Click()
    Dim ImpSource As Range
    Dim NomPlage As String
     
    NomPlage = IIf(Me.OptionButton1.Value, "ELEC", "FOND")
    Application.ScreenUpdating = False
    Unload Me
    Set ImpSource = ThisWorkbook.Names(NomPlage).RefersToRange
    With ImpSource.Parent
        .PageSetup.PrintArea = ImpSource.Address
        .PrintOut
    End With
    Set ImpSource = Nothing
    End Sub

Discussions similaires

  1. [VBA-E]Definir une zone d'impression
    Par byflo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/06/2006, 09h29
  2. [VBA-E] Range de la page d'une zone d'impression ?
    Par JulienCEA dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/05/2006, 15h39
  3. Réponses: 8
    Dernier message: 10/03/2006, 01h05
  4. Vba excel agrandir la zone d'impression a droite
    Par mb95 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/12/2005, 07h42
  5. définir une zone d'impression sous Excel
    Par mirumoto dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/11/2005, 12h26

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