XL 2016 Edition d'un PDF à partir de plusieurs données d'une feuille (RESOLU)

Bambi35

XLDnaute Occasionnel
Bonjour à tous

Vous n’aviez aidé à réaliser un fichier pour éditer des PDF en renseignant des cellules manuellement,

(Edition d’un PDF dans un répertoire et enregistrement de la personne sur une feuille Chrono)

Serrait-il possible de récupérer plusieurs informations automatiquement à partir d’une autre feuille Inscription. Le but est de pouvoir éditer le PDF en une seule action et éviter les erreurs.

J’arrive quand la personne a juste une cotisation (voir exemple sur le fichier adhérent 3) mais quand elle a plusieurs activités et option comme pour l’adhérent 7 alors là problème.

L’objectif est d’avoir toutes les cotisations ainsi que les options sur le PDF

l'adhésion 14 €

Cotisation Art Floral 10 €

Cotisation Judo Baby 8 €

Cotisation Karaté Adulte 11 €

La licence Karaté 30 €

Cotisation Escalade 12 €

Location Matériel Escalade 13 €

La liste des cotisation et option sont sur la feuille Activité

Pour info je peux intercaler dans nouveaux adhérents dans le temps

Merci de votre aide

B@mbi35

Ci-joint le fichier
 

Pièces jointes

  • Attestation.xlsm
    155.8 KB · Affichages: 119

Bambi35

XLDnaute Occasionnel
Bonsoir Sousou

J'ai testé tes modules sur mon fichier et nickel sauf que j'ai compris la raison du problème que l'on voit sur l'AttestationRev3-3 hier à 9h28 .Il donne sur la facture les activités pour toutes la famille et non en distinguant chaque personnes.(Erreur de ma part J'ai oublier de mettre différent prénom pour la même famille)
Comment ajouter le critère avec la condition du prénom aussi.
J'ai modifier pour l' adhérent 7 .Nous avons 3 personnes de la même Famille.
Je m'excuse de cet oublie

Ci-joint le fichier 3-4
Bambi35
Cordialement
 

Pièces jointes

  • AttestationRev3-4.xlsm
    274.5 KB · Affichages: 60

Bambi35

XLDnaute Occasionnel
Bonsoir SOUSOU et à tous

Grace à l'aide de Sousou j'ai réussi à séparer l' édité de la facture pour un adhérent d'une même famille en concaténant le nom et le prénom, mais le listing sur la feuille chrono et la cellule G15 de la feuille facture ne fonctionne plus ainsi que la création d'un PDF dans un répertoire . J'ai essayer de modifier la macro en intégrant celle du module 15 avec celle de la feuille inscription mais aucun résultat.
Merci de votre aide pour que je puisse créer un PDF dans un répertoire ainsi qu'un chrono en G15 et le listing sur la feuille chrono.

J'ai aussi le problème quand j'intercale une ligne (pour un nouveau adhérent d'une famille )j'ai un message d'erreur (capture sur le ficher Excel).Car lors d'une saison j'intercale souvent des lignes.

Merci encore de votre aide
Bambi35
 

Pièces jointes

  • AttestationRev3-5.xlsm
    293.5 KB · Affichages: 62

Bambi35

XLDnaute Occasionnel
Bonsoir à tous
Je relance l'appel pour m'aider ,car je n'arrive pas à refaire fonctionner le chrono sur la feuille chrono ainsi que la sauvegarde d'un PDF dans un répertoire sur "d:\Foyer" & "\Attestation Inscription Foyer" & "\2016" & "\Facture" après a un dbclick sur la colonne O pour la création de la facture.

Merci de votre aide
Voir fichier AttestationRev3-5
@++

Bambi35
 

sousou

XLDnaute Barbatruc
Bonjour
à la vue de ton fichier:
Mes proposition étaient des pistes, mais pas finalisé dans ton document.
1: L'erreur est provoquée par le fait que tu sélectionnes une ligne entière (sans doûte) et donc target représente une ligne d'où incompatible avec target="oui"
Tu peu te passer de l'évènement change puisque tu as la même chose avec doubleclick
2Pour la feuille chrono, il faut ajouter un call tst_2007 si tu souhaites l'exécuter.
3: Mais dans ton tst_2007 tu pêches par manque de précision dans ton code en omettant le nom de la feuille une source large d'erreur, et tu n'utilises pas la feuille paramètre qui pourrait bien t'être utile
4: Le bouton impression (qui pourrait ne plus te servir) est affecter à une macro de attestationRev3-3
Voilà
Je peux si tu le souhaites faire un peu de ménage dans ton appli, mais il faudrait bien définir de quelle manière tu souhaites que l'impression soit lancé?
Et quelle est le rôle de la feuille chrono
 

Bambi35

XLDnaute Occasionnel
Bonsoir
Merci pour ton retour Sousou
J'ai essayer de faire des modifs mais comme je l'ai dis je ne suis pas un expert
Le chrono indique une erreur
Impossible d'enregistrer un PDF dans le répertoire C:/Facture
Et les messages d'alerte pour l'impression ce mélanges
Pour l'erreur c'est bien quand j'intercale une ligne pour un nouveau adhérent.

Alors oui j'ai besoin d'aide
Je veux bien que tu fasses du ménage dans mon fichier
Pour définir le lancement de l'impression
1/ indique "oui" dans la colonne R de la feuille Inscription
2/ double clic sur la cellule
3/visualiser la facture (pour contrôle)
4/Incrémentation numérique facture "G15" ainsi que sur la feuille Chrono (rôle de listing numérique)
5/Fermeture de la facture
5/Enregistrer un PDF dans un répertoire
Voici les infos que j'aimerai avoir


Merci encore de ton aide

Si joint le fichier

Bambi35
 

Pièces jointes

  • AttestationRev3-6.xlsm
    292 KB · Affichages: 51

sousou

XLDnaute Barbatruc
Bonjour
Bien je crois que j'ai simplifié un peu tout cela,
1/ le numéro de la facture se trouve dans la feuille para en d4, il sera automatiquement incrémenté à chaque facture éditée
2/La partie ( le fichier existe déjà n'a pas de raison d"être sauf si le numéro de facture est modifié à la main avec un numéro déjà existant, mais j'ai laissé et remanier ce passage.
A suivre
 

Pièces jointes

  • AttestationRev3-7.xlsm
    258.4 KB · Affichages: 89

Bambi35

XLDnaute Occasionnel
Bonsoir sousou
Merci pour ta patience.

J'ai regardé le fichier
Et j'ai une erreur après le message Impression de la facture (?)
upload_2016-12-8_18-39-5.png

Pour la numérotation elle reste à 1 sur la facture
Merci encore de ton aide

Bambi35
 
Dernière édition:

sousou

XLDnaute Barbatruc
Bonjour.
1/erreur:
N'oublie pas que nous ne travaillons pas dans le même contexte PC!
J'ai l'impression que tu n'as pas modifié le chemin de factures défini comme constante dans le module option ainsi
Public Const cheminfacture =....... si j'ai bien compris pour toi c'est ceci:"d:\Foyer" & "\Attestation Inscription Foyer" & "\2016" & "\Facture\"
2/ Ca c'est pour moi!
Ajoute cette ligne avant le end sub de la procédure option du moduleoption pour afficher le bon numéro de facture
Sheets("facture").Range("g15").Value = ThisWorkbook.Names("numfact").RefersToRange + 1
 

Bambi35

XLDnaute Occasionnel
Bonsoir Sousou

Pour le chemin c'est bon je sais le modifier selon le répertoire.
Je n'ai qu'au début du module Moduleoption à changer
upload_2016-12-9_21-35-52.png


Concernant la ligne
Sheets("facture").Range("g15").Value = ThisWorkbook.Names("numfact").RefersToRange + 1
Elle est déjà dans le module Moduleoption


Merci encore pour ton aide avec les explications dans le VBA

Bambi35
 

Bambi35

XLDnaute Occasionnel
Bonsoir Sousou

J'ai essayer mais aucun résultat
J'ai simuler le début de saison
j'ai mis 1 dans la cellule D4 de "para"
Feuille Chrono vierge
N° Facture "001"
Lancement pour visualiser la 1 ère demande de facture + sauvegarde dans le répertoire Factures
Résultat
Je visionne la facture ayant le N°"001"
La facture s'enregistre sous le nom Facture 2 et la facture est la "001"
et dans le chrono c'est la "002"
Lancement pour visualiser la 2 ème demande de facture + sauvegarder
Je visionne la nouvelle facture de la 2 éme personne avec le N° "001"
La facture s'enregistre sous le nom Facture 3 et la facture a le "001"
et dans le chrono c'est le "003"
Je ne sais pas comment faire.
Le fichier joint est le celui que j'ai essayer pour l'exemple ci-dessus
Merci de ton aide

Bambi35
 

Pièces jointes

  • AttestationRev3-8.xlsm
    258 KB · Affichages: 64

sousou

XLDnaute Barbatruc
Ajoute cette ligne avant le end sub de la procédure option du moduleoption pour afficher le bon numéro de facture
Sheets("facture").Range("g15").Value = ThisWorkbook.Names("numfact").RefersToRange + 1:mad:
et commence par zéro

Sub options(cellule)
coladhe = 5

Set adhe = cellule.Parent.Cells(cellule.Row, coladhe)
n = 0
Sheets("facture").Range("b32:f52") = ""

Set dest = Sheets("facture").Range("b32")
x = 0
'type de lignes
lignes = Array("Cotisation", "License", "Location")
'tant que c'est le même adhérent
While adhe.Offset(n, 0) = adhe
'pour chaque type de ligne
For l = 0 To UBound(lignes)
If adhe.Offset(n, 8 + l) <> "" Then
'valeur
dest.Offset(x, 1) = adhe.Offset(n, 8 + l)
'type de ligne et activité
dest.Offset(x, 0) = lignes(l) & " " & adhe.Offset(n, 6)
x = x + 1
End If
Next
n = n + 1
Wend
Sheets("facture").Range("g15").Value = ThisWorkbook.Names("numfact").RefersToRange + 1
End Sub
 

Bambi35

XLDnaute Occasionnel
Bonsoir SOUSOU

Merci pour ton retour, Super le résultat est là.
Grâce à toi je peux récupérer plusieurs informations automatiquement à partir d’une feuille pour créer une facture ,et de l' éditer le PDF ainsi que de l'enregistrer dans un répertoire.
Cela sera plus facile pour moi.

Merci encore de ton aide ainsi que les commentaire que tu as laisser.


Bambi
 

Bambi35

XLDnaute Occasionnel
Bonsoir SOUSOU et à tous

J'ai applique sur mon fichier et nickel
Mais J'ai constaté que sur la feuille facture (Cellule F31) l 'info de la feuille Inscription (colonne L ) n'apparaissait pas.
J'ai essayer mais sans succès ,ainsi que pour l' intégration de ClearContents pour vider certaines cellules de la feuille Facture après enregistrement du PDF dans le répertoire.

Merci encore de votre aide.
Ci-joint le fichier

Bambi35
 

Pièces jointes

  • AttestationRev3-9.xlsm
    259.4 KB · Affichages: 71

Statistiques des forums

Discussions
312 269
Messages
2 086 674
Membres
103 366
dernier inscrit
SkippyB94