Microsoft 365 Générer automatiquement un nbre d'invitations ?

ManuXZ

XLDnaute Junior
Bonjour ,

Je dois envoyer des invitations selon un canevas fait sous Excel (le canevas de l'invitation qui est déjà constitué ).
J'ai une procédure de saisie qui permet de saisir les données correspondantes (nom spectacle , horaire, lieu,..) et une fois les données validées sur le formulaire,
les champs sur les invitations sont automatiquement remplis.

Je dois envoyer ces invitations à chaque d'organismes/sites (une trentaine) ou selon chaque site, un nombre précis d'invitations est demandé.
(ex 10 pour le site A, 20 pr le site B, 5 pr le C, ...) , les personnes chargées de cela sont obligées de dupliquer autant de fois le canevas (copier/coller)
pour ensuite imprimer le nbre souhaité.
Mais je souhaiterais rendre cela automatique en saisissant , pour chaque org le nombre de places désirées , ainsi une procédure serait lancée qui permettrait de
générer sur Excel autant de fois le nbre d'invitations voulues.
et ensuite imprimer (6 invit max par page A4)
Déjà est-ce possible sous Excel ? via des macros ??
Merci bcp pr votre aide.
Ps: Joint un exemple du canevas.
 

Pièces jointes

  • forum-question.xlsx
    10 KB · Affichages: 13

ManuXZ

XLDnaute Junior
Désolé si ma demande n'est pas clair ?? en fait je souhaiterai dupliquer ce canevas (invitation) plusieurs fois automatiquement , est-ce possible sous excel ? mais (même si mon fichier ne sert pas à grand chose) , mon texte apparemment n'est pas clair ?? je ne sais pas trop comment le reformuler pourtant j'ai essayé d'être le plus clair possible.....ou est-ce vraiment une question qui n'a jamais été posée ??
 

Phil69970

XLDnaute Barbatruc
@ManuXZ

même si mon fichier ne sert pas à grand chose
C'est surtout cela qui cloche .... :oops:

Dans ton fichier il y a pas de code VBA, pas de BDD, rien d’exploitable o_O

Donc est ce possible ? Certainement mais en l'état je dirais non .... Mais peut être d'autre personnes arriveront à faire des miracles avec rien.... Moi je sais pas faire ....et Jésus c'était il y a 2000 ans.

Est ce plus clair comme ceci ? ;)
 

ManuXZ

XLDnaute Junior
@ManuXZ


C'est surtout cela qui cloche .... :oops:

Dans ton fichier il y a pas de code VBA, pas de BDD, rien d’exploitable o_O

Donc est ce possible ? Certainement mais en l'état je dirais non .... Mais peut être d'autre personnes arriveront à faire des miracles avec rien.... Moi je sais pas faire ....et Jésus c'était il y a 2000 ans.

Est ce plus clair comme ceci ? ;)
Mais justement, c'est juste pr savoir si en code VBA cela serait possible (je n'ai pas besoin d'une BDD) ou peut-être que cela n'a jamais été fait...sous excel ou alors utiliser un autre logiciel ?
 

ManuXZ

XLDnaute Junior
Un début de solution , si cela peut en aider d'autres...;-)

Sub CopyMulti()
Range("A1:G20").Copy Range("A22").Resize(20 * Range("K6").Value)
End Sub


Cela duplique bien ( n fois : n = valeur de K6) mon invitation pour l'instant (en saisissant une valeur ds la cellule K6) en attendant une solution plus élaborée (formulaire de saisie pour la valeur)
Bonne soirée
 

gbinforme

XLDnaute Impliqué
Mais justement, c'est juste pr savoir si en code VBA cela serait possible (je n'ai pas besoin d'une BDD) ou peut-être que cela n'a jamais été fait...sous excel ou alors utiliser un autre logiciel ?
Bonjour,
Même si ta macro duplique ton invitation autant de fois que tu veux quel est l'intérêt ?
Tu peux faire cela à la photocopie sans problème existentiel.
Avec une BDD tu pourrais remplir tes invitations alors que là il faudra le faire manuellement.
 

ManuXZ

XLDnaute Junior
Bonjour,
Même si ta macro duplique ton invitation autant de fois que tu veux quel est l'intérêt ?
Tu peux faire cela à la photocopie sans problème existentiel.
Avec une BDD tu pourrais remplir tes invitations alors que là il faudra le faire manuellement.
Bonjour,

En fait le but c'est d'envoyer les invitations par mail (en document format PDF par ex) et non plus (comme le font actuellement les personnes de les imprimer les mettre sous enveloppe et les envoyer par la poste: fastidieux !!!) à moins qu'un logiciel "éditique" le fasse plus simplement mais je n'ai pas assez d'infos là-dessus....:-((
 

patricktoulon

XLDnaute Barbatruc
Bonjour
la méthode la plus simple pour les benets en vba
et là encore la plage de cellule est dans le corps du message en plus du pdf
VB:
Sub SendOutLook()
    Dim pdf, feuille As Worksheet, plage As Range, Rnge As Object, Wdoc As Object

    pdf = ThisWorkbook.Path & "\Invitation.pdf"

    If Dir(pdf) <> "" Then Kill pdf

    Set feuille = Feuil1
    Set plage = Feuil1.[A1:F19]

    'si tu veux envoyer toute la feille
    'feuille.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdf, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

    'si tu veux envoyer seulement un plage de cellules
    plage.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdf, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False


    With CreateObject("outlook.application")
        With .CreateItem(0)
            .To = "quelqun@mailou..com"
            .Subject = "invittion " & Date
            .BodyFormat = 1

            'on colle la plage de cellule dans le corps du mail
            .display
            plage.Copy
            Set Wdoc = .GetInspector.WordEditor
            Set Rng = Wdoc.Content
            Rng.Paste
            .Attachments.Add (pdf)
            If Dir(pdf) <> "" Then Kill pdf
            '.send
            '.Close False
        End With
    End With
Application.CutCopyMode = False
End Sub
tester sur l'exemple donné en post #1
ps:débloquer le .send et le .close si ca convient
;)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 324
Membres
103 179
dernier inscrit
BERSEB50