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 :

Comment réaliser une facture multipage sur excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut Comment réaliser une facture multipage sur excel
    Salut le forum

    je souhaite réaliser une facture évolutive mais mes "connaissances limitées" en excel ne me la permette pas.
    En effet, je vois que certains logiciels permettent de facturer des produits qui en fonction des éléments de la commande peuvent se contenir:
    - lorsque les éléments de la facture ne sont pas beaucoup, si on venait à lancer l'impression, la facture sort sur une seule page,
    - lorsque les éléments sont nombreux,si l'impression venait à être lancée, la facture sort sur 2 ou plusieurs pages avec le total hors tva, le montant de la tva et le total toutes taxes comprises (en bas de la dernière page).
    Est-il possible avec excel de pouvoir réaliser la même chose:si la facture est sur une page, qu'on ait les éléments de fin de page (total hors taxe, montant tva et montant total ttc);de même lorsque la facture doit se contenir sur 2 ou plusieurs pages, que les éléments de fin de page soient sur la dernière page.
    J'espère m'avoir fait comprendre sinon je vous apporterai d'autres éclaircissements.

  2. #2
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Bonjour,

    Est-il possible d'avoir un fichier sans données confidentielles?

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    891
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 891
    Points : 831
    Points
    831
    Par défaut bonjour capi81, QuestVBA et le forum
    La réponse est simple :
    1. faire la feuille de calcul sur une largeur de feuille papier facturation,
    2. mettre les calculs (TVA etc...) en bas de feuille et
    3. insérer (/supprimer) des lignes pour chaque nouvel (/ancien) article et
    4. excel se charge de tout


    Rien n'empêche de faire autrement.


    Une petite recherche avec un moteur de recherche avec les mots "facturation Excel VBA" devrait donner de bon résultats. Ils sont légions.

    Il y a quelques temps j'ai trouvé sur un forum Anglais une personne demandant comment certains réalisaient leur facturation. Voici quelques réponses obtenues que j'ai gardées pour comparaison.


    ESVBA
    Fichiers attachés Fichiers attachés

  4. #4
    Membre émérite
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 416
    Points : 2 879
    Points
    2 879
    Par défaut
    Bonjour

    On peut aussi prendre le problème à l'envers : on met les totaux en début de page.

    Je sais, dis comme ça cela choque beaucoup. Mais regardez votre facture téléphone ou EdF. Il y a les totaux sur la première page. Puis sur les suivantes vous avez les détails qui prennent autant de place que désiré.

    Ceci étant dit, combien de fois quand vous recevez une facture, la première chose que vous faites, c'est d'aller à la dernière page pour regarder combien cela coûte pour ensuite relire les pages d'avant et consulter le détail ?

    C'est le discours que je tiens à tous les artisans ou toutes petites entreprises que je cotoie. Ils sont réticents au départ, mais c'est vraiment plus pratique que de faire une usine à gaz avec Excel quand on n'a pas les compétences (ou le temps) nécessaire.

    Bonne journée

    Pierre
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre confirmé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Points : 520
    Points
    520
    Par défaut
    bonjour Pierre, ESVBA, capi81
    dans mon fichier qui a une entete de 18 lignes et un bas de 13lignes et entre j'écrit des données sur des lignes qui s'ajoutent au fur et a mesure de l'inscription et je peux remplir autant de lignes que je veux sur la feuille en repoussant le bas de page a chaque insertion et lors de l'aperçu ou de l'impression je retrouve 2 ou plus de page parametrer par ce code qui se place dans thisworkbook:
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Private Sub Workbook_BeforePrint(Cancel As Boolean) 'Utilis & Chr(10) &
    Dim VPB As VPageBreak, HPB As HPageBreak
    Dim No As String, Dt As String
     
    Application.ScreenUpdating = False
     
    'No = Year(Now) & " - " & Sheets("facturation").Range("A1")
    Dt = Format(Date, "dd mmmm yyyy")
     
    'formatter en vue d'impression
    With ActiveSheet
        'reset parametres d'impression
        .ResetAllPageBreaks
        With .PageSetup
            'redefinition de la plage d'impression
            .PrintArea = "$C$1:$M$" & [MTTC].Row + 13
            .CenterHeader = ""
            .CenterFooter = ""
        End With
        'passage en break preview sinon erreur avec DragOff
        ActiveWindow.View = xlPageBreakPreview
        'déplacement des sauts de page
        For Each VPB In .VPageBreaks
            VPB.DragOff Direction:=xlToRight, RegionIndex:=1
        Next VPB
        'retour à vue normale
        ActiveWindow.View = xlNormalView
        'ajout de ligne avant et après chaque saut de page pour délimiter le cadre lors de l'impression
        For Each HPB In .HPageBreaks
            .Range(.Cells(HPB.Location.Row - 1, 3), .Cells(HPB.Location.Row - 1, 12)).Borders(xlEdgeBottom).LineStyle = xlContinuous
            .Range(.Cells(HPB.Location.Row, 3), .Cells(HPB.Location.Row, 12)).Borders(xlEdgeTop).LineStyle = xlContinuous
        Next HPB
        'entête au centre
        '.PageSetup.CenterHeader = "&14&""Arial,Gras""FACTURE SAV N° " & No & " en date du " & Dt
        'pied de page au centre
        '.PageSetup.CenterFooter = "&14&""SIRET : 0123456789   -   NAF : 0000   -   RCS : 00000 -   N° TVA   :  FR001234578969" & Chr(10) & _
      '"assurance décennale n°000000 de chez untel"
    End With
     
    Application.ScreenUpdating = True
     
    End Sub
    les lignes qui suivent
    entête au centre
    sont en commentaire car je les ai mis dans la mise en page

    Pascal

  6. #6
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Salut à tous
    Suis très touché par vos multiples contributions.
    C'est super.
    Pierre :j'ai regardé vos fichiers joints. je vais essayé de les comprendre et vous revenir.
    Je profite joindre mon fichier pour bénéficier de vos coaching.
    Voici comment je souhaite que ma facture se présente:
    il faut noter que ma facture évolue en fonction du nombre de camion.
    Si plusieurs camions doivent bouger en même temps pour la livraison de marchandises appartenant à un même propriétaire, je fais une facture unique pour mon client au lieu de plusieurs. cette facture unique peut souvent en fonction du nombre de camion, s’afficher sur plusieurs pages.
    Pour reconnaitre le nombre de camion, on se sert des n° d’immatriculations.
    Ce que je souhaite le plus est que la facture s’adapte au nombre de camions.
    Pour un camion, c’est les même informations qui devront être utilisées (voir plage de cellules en orange).
    Aussi, j’ai mon usf que je souhaite l’interfacer avec la plage c6 :C15 de la feuille INFO1.
    N.B :les données de l’usf devront être renseignées dans la plage suivant l’ordre définit.
    Je me limite à là pour attendre les points sur lesquels vous souhaitez avoir des éclaircissements.

  7. #7
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Salut Grisan29 et le forum

    J'ai esayé d'apprecié votre code mais sans fichier je m'en sort pas.
    Serait-il possible de joindre un fihcier modèle afin que je puisse apprécier?
    Merci

  8. #8
    Membre confirmé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Points : 520
    Points
    520
    Par défaut
    bonjour capi81

    je ne peux pas dire plus si l'organisation de ta facture est différente, car moi j'ajoute ligne apres ligne, de la ligne 19 a fin de tableau et le code donné dans le post précédent (qui est placé dans thisworkbook de vbaproject) fait office de gestion de nombre de feuilles en mettant les saut de pages a ma convenance
    j'ai juste prarametrer la mise en page afin d'avoir le meme bas sur toutes les feuilles

    le code proposer est issu d'une question posée il y a 1 voir 2 ans sur ce forum

    cordialement

    Pascal

  9. #9
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Salut Grisan29
    Merci pour votre réponse.
    Donc si je crée un fichier et que j'y loge le code, ca va fonctionner ou dois-je l'adapter? Si oui comment car je n'arrive pas à bien comprendre et pourtant suis interessé.
    Merci

  10. #10
    Membre confirmé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Points : 520
    Points
    520
    Par défaut
    bonjour capi81
    je te joint un exemple que je viens d'épurer complètement mais il y a un bug quand tu fera un essai d'apercu avant impression mais en fermant vba tu vera le résultat
    avec mes excuses pour le retard

    Pascal

  11. #11
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Salut Grisan et le forum

    Je pense avoir trouvé une piste de solution pour ma facture évolutive.
    Puisque la facture est fonction du nbre de camion à charger, j'ai essayé de prevoir les cas possible.
    La facture comporte plusieurs pages mais avec votre aide, elle pourra répondre au résultat souhaité.
    En effet, je souhaite masquer les lignes en fonction du nbre de camion.
    Je vais définir mes conditions à partir de la colonne A:la ligne de la colonne A qui ne remplira pas la condition aura la valeur 0.
    Donc, s'il y'a 0 dans la colonne A, je souhaite qu'en appelant la macro, toutes les lignes contenant 0 se masquent.
    N.B :la cellule devant contenir la valeur nbre de camion est INFO!G50
    Je me limite la et vous reviendrai si autres critères à intégrer.
    Merci de me donner un coup de main.
    http://cjoint.com/?BJgaoWZUUqi

  12. #12
    Membre confirmé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Points : 520
    Points
    520
    Par défaut
    bonjour capi81

    je ne peux pas beaucoup plus de mon coté car je ne suis pas un pro de vba

    Pascal

Discussions similaires

  1. Réaliser une somme comme sur un défilement excel
    Par avyperez dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/03/2014, 15h20
  2. Réponses: 1
    Dernier message: 25/09/2011, 01h09
  3. Réponses: 5
    Dernier message: 17/06/2008, 15h17
  4. Réponses: 2
    Dernier message: 09/08/2006, 14h02
  5. [ADO.NET]Comment réaliser une relation sur plusieurs champs?
    Par kleomas dans le forum Accès aux données
    Réponses: 3
    Dernier message: 13/03/2006, 12h40

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