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 :

Impression en PDF suite à sélection multiple dans zone de liste


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 147
    Par défaut Impression en PDF suite à sélection multiple dans zone de liste
    Bonjour,

    J'ai un graphique dont les données s'affichent suite à une sélection dans une zone de liste modifiable (la sélection ne peut être que simple). Pour afficher l'ensemble des graphiques, il faut sélectionner 1 à un les données de la zone de liste modifiable. Je souhaiterai pouvoir réaliser une sélection multique et que l'ensemble des graphiques puisse s'imprimer dans un même document en PDF (j'utilise PDF Creator). J'ai pensé à créer une zone de liste (à sélection multiple) dans un userform, mais je ne sais pas très bien ensuite comment faire pour qu'il concatène l'ensemble des graphiques dans un même document PDF. J'espère que je suis clair un minimum. Merci d'avance pour les réponses que vous pourrez m'apporter.

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonjour,

    Dans la mesure ou tes graphiques sont chacun sur une feuille et que chaque feuille avec graphique ne contient rien d'autre, il est très facile de sélectionner les feuilles et puis d'imprimer uniquement les feuilles sélectionnées, vers ton imprimante PDf Creator. Tu auras ainsi sans difficulté un seul PDf avec tes graphiques.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 147
    Par défaut
    Les graphiques ne sont pas sur des feuilles différentes. Un graphique est sur une feuille. En sélectionnant une donnée dans une zone de liste déroulante, on modifie l'affichage du graphique. Cf. ci-joint un exemple du fichier que j'utilise.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Une solution possible est alors de générer autant de feuilles temporaires que tu as d'options dans ta liste déroulante (ici 4), avec pour chacune une valeur de cette liste déroulante.
    Tu nommes ces feuilles par exemple du nom de la sélection. Puis tu les sélectionnes toutes, tu imprime la sélection, puis tu les effaces.

    Avant la génération suivante pour impression, il est prudent de vérifier l'existence des feuilles temporaires et de les supprimer.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 147
    Par défaut
    Je ne suis pas sûr que cette façon de fonctionner soit géniale pour la mémoire. Ma sélection peut être importante, ce qui génèrerai un nombre important de feuilles. Merci quand même pour l'idée.

    Si quelqu'un à une autre idée, n'hésitez pas ...

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Le principe est d'empiler les graphiques les uns sous les autres sur la feuille nommée Imp à l'aide d'une Listbox à sélection multiple et d'un bouton de commande. J'ai supprimé la combobox d'origine. Tu dois modifier les dimensions des graphiques. L'indice de chaque valeur sélectionnée est mise en A1 :

    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
    Private Sub CommandButton1_Click()
        For Each sh In Sheets("Imp").Shapes
            sh.Delete
        Next
        With ActiveSheet.ListBox1
            For i = 0 To .ListCount - 1
                If .Selected(i) = True Then
                   [A1] = i + 1
                    Charts.Add
                    Set v = ActiveChart
                    ActiveChart.ChartType = xlLine
                    ActiveChart.SetSourceData Source:=Sheets("Feuil1 (2)").Range("B4:D6"), _
                        PlotBy:=xlColumns
                    ActiveChart.Location Where:=xlLocationAsObject, Name:="Imp"
                    With ActiveChart
                        .ChartType = xlLine
                        .SetSourceData Source:=Sheets("Feuil1 (2)").Range("B3:D6"), _
                            PlotBy:=xlColumns
                        .Location Where:=xlLocationAsObject, Name:="Imp"
                        .HasTitle = True
                        .ChartTitle.Text = ['feuil1 (2)'!A4].Value
                    End With
                    ctr = ctr + 1
                    Set sh = Sheets("Imp").Shapes(Sheets("Imp").Shapes.Count)
                    sh.Height = 330
                    sh.Width = 600
                    sh.Left = 1
                    sh.Top = 330 * (ctr - 1)
                   .Selected(i) = False
                End If
            Next i
        End With
    End Sub

Discussions similaires

  1. [AC-2007] Sélection colonne dans zone de liste
    Par cath2123 dans le forum VBA Access
    Réponses: 7
    Dernier message: 21/01/2014, 17h13
  2. Réponses: 2
    Dernier message: 14/11/2008, 16h01
  3. Sélection multiple dans une zone de liste
    Par mawi dans le forum VBA Access
    Réponses: 5
    Dernier message: 25/09/2007, 18h00
  4. sélection multiple dans plusieurs zones de liste
    Par malabar92 dans le forum Access
    Réponses: 2
    Dernier message: 16/05/2006, 01h08
  5. [Débutant] Sélection multiples dans une Listbox
    Par eraim dans le forum Access
    Réponses: 4
    Dernier message: 15/10/2005, 03h21

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