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 :

Macro impression feuilles doubles exemplaires et création listing


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2021
    Messages : 8
    Par défaut Macro impression feuilles doubles exemplaires et création listing
    Bonjour,

    je maitrise bien Excel et toutes ses formules mais je suis complètement novice du langage VBA mais je voudrais me servir de ses fonctionnalités afin d'optimiser certaines taches administratives répétitives et chronophages de ma consultation...
    Par exemple, l'impression de certains documents
    Voici mes questions:
    J'ai une fiche dans la Feuille 1 intégrant plusieurs case à cocher correspondant à des documents dans les Feuilles 2,3,4,...
    je voudrais:
    1. créer une macro capable d'imprimer en papier tous les documents cochés en double copie dont une 2ème copie intégrant la notion de "Duplicata" que j'ai vu pouvoir effacer via les propriétés des boutons.
    2. même chose mais en PDF pour chaque Feuille en utilisant le Nom (indiqué dans une case de la fiche suivi du nom de la Feuille)
    3. créer un listing progressif à partir des certains données intégrées dans la fiche comme nom, prenom etc dans une autre feuille appelé "Listing"

    J'ai crée les 3 boutons correspondants (Impression ordo, Impression PDF, Enregistrement) en base de la Fiche mais je n'arrive pas à avancer.

    J'ai cherché sur le forum mais sans détecter des réponses à mon problème. Je me remets donc à votre disponibilité, bien évidemment j'ai le fichier Excel simplifié mais en accord avec la politique du forum je ne le mets pas d'emblée...

    Merci
    Max

  2. #2
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Bonjour,

    On peut tout à fait créer/lire/modifier des données et lancer des impressions vers une imprimante et vers une conversion PDF en fonction de critères définis.
    Donc dans votre cas l'idée de base si j'ai bien compris ce serait de parcourir toutes les cases à cocher et de lancer des impressions papier et de convertir en PDF.

    OK sur le principe mais pour aller plus loin un fichier exemple serait profitable pour ne pas faire de supposition de code qui ne conviendrait pas.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Médecin
    Inscrit en
    Décembre 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2021
    Messages : 8
    Par défaut
    Super merci!

    En PJ le fichier test anonymisé.
    J'ai essayé avec la fonction "If" sur tous les boutons mais sans succès

    La difficulté supplémentaire est qu'il faudrait lancer l'impression en double exemplaire avec la notion "DUPLICATA" sur le 2ème exemplaire.
    Dans le fichier seulement la Macro "IMPRESSION" qui permet cette fonction est conservée

    Test Examen VBA.xls

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 175
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il y a beaucoup de questions dans votre demande. Voici une piste pour l'une d'elle
    dont une 2ème copie intégrant la notion de "Duplicata"
    Dans l'exemple ci-dessous le texte "Duplicata" se trouve dans une zone texte nommée Tampon et donc la feuille dans laquelle elle se trouve est imprimée deux fois et le texte apparaît lors de l'impression du second exemplaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub t()
      Dim shp As Shape
      Dim Ex As Byte
      Set shp = Me.Shapes("Tampon") 
     For Ex = 1 To 2
         shp.Visible = Ex = 2
        Me.PrintOut
      Next
      Set shp = Nothing
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Une autre piste

    Les cases à cocher utilisées peuvent être liées à une cellule de la feuille, qui se mettra à jour automatiquement lors de la modification de l'état de la case à cocher (ou de la cellule liée d'ailleurs).

    Pour se faire, il faut faire un clique droit sur la case à cocher, puis "Format de Contrôle", onglet contrôle.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Pour gérer les impressions, il est possible de faire quelques choses comme ça

    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
    Sub test()
    IMPRESSION Feuil8
    End Sub
     
    Sub IMPRESSION(FeuilleAImprimer As Worksheet, Optional AvecDuplicata As Boolean = True)
    Dim DuplicataShape As Shape
     
        'On essai de pointer le shape duplicata
        On Error Resume Next
            Set DuplicataShape = FeuilleAImprimer.Shapes("WordArt 1")
        On Error GoTo 0
     
        'On empéche l'impression de la mention duplicata
        If Not DuplicataShape Is Nothing Then DuplicataShape.ControlFormat.PrintObject = False
     
        'On lance l'impression d'un exemplaire
        FeuilleAImprimer.PrintOut Copies:=1
     
        'On regarde si le second ex est demandé et si la mention duplicata existe
        If AvecDuplicata And Not DuplicataShape Is Nothing Then
            'On active l'impression du wordart
            DuplicataShape.ControlFormat.PrintObject = True
            'On lance l'impression
            FeuilleAImprimer.PrintOut Copies:=1
        End If
     
    End Sub
    Avec un paramètre CreatePDF, tu peux modifier un peu pour remplacer l'impression par la création d'un PDF.


    Sinon Sans aucune macro, sur chaque feuille avoir le document à remplir et à la suite le même document avec la mention "Duplicata". Cette deuxième version contiendrait des lien vers celle du haut pour que les champs se remplissent tout seul.
    Il suffit ensuite de lancer l'impression de la page1 -> version original, de la page2 -> version Duplicata, deux deux pas pour tout avoir.
    Visuellement ça donnerait ça
    Nom : 2022-01-01_125042.png
Affichages : 531
Taille : 26,3 Ko

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. [XL-2016] Macro impression pdf a partir d'une liste
    Par wouairness dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/02/2020, 10h41
  2. Création d'une macro: impressions de formulaires
    Par Kvagne dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/09/2010, 15h50
  3. impression par défaut en double exemplaire avec excel 2003
    Par sylvainsly dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/02/2009, 18h23
  4. Création liste en regard du contenu d'une feuille
    Par Invité dans le forum Excel
    Réponses: 2
    Dernier message: 13/02/2008, 19h03
  5. impression etat en double exemplaire
    Par gui-llaume dans le forum IHM
    Réponses: 16
    Dernier message: 26/10/2007, 17h19

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