Modele de devis

littlechild666

XLDnaute Nouveau
Bonjour,
Après avoir pas mal cherché dans le forum, et sur internet je bloque.

Je suis entrain de faire un modèle de devis avec une base de donné article et client.
Une feuille !Offre dans laquelle j'ai mon entête avec les coordonnées sociétés, clients, date, interlocuteur

Puis un corps avec les colonnes Quantité, Référence, Désignation, Pu HT, Montant total.

Un pied de page avec TOTAL HT , TVA, TOTAL TTC.

Et une partie interne avec les prix d'achat, les remise et la marge dégagée.


J'ai un problème sur les impressions et surtout sur le nombre de lignes du devis.

Car le devis peut comporter 15 lignes ou 55 lignes.

C'est là où j'ai un problème

Est-ce que je dois dans ma feuille !Offre je duplique mes tableaux ( Quantité , Ref , Description,…. Pu achat …)
Puis je réalise plusieurs feuille !Impression, la première avec 1 page, la deuxième avec 2 pages, la troisième avec 3 pages?


Où alors il y existe une macro qui peut adapter mon impression au nombre de ligne ( et donc sur un nombre de pages adaptées ) sur une " matrice " en trois partie

Avec l'entete qui est toujours fixe ( " Offre de prix, Affaire , N°Offre…)
Le pied de page toujoues fixe également ( Total HT, TVA , Total TTC )

Puis la partie centrale avec les lignes de produits.
Et dans l'absolut il faudrait que sur chaque nouvelle page, la première ligne sois le report du montant HT de la page précédente.

Voilà pour la partie client , et du coup il faudrait la même chose pour la partie interne avec les achats

J'espere que cela est assez clair.

Merci d'avance pour votre aide!

PS: Je n'ai pas réussi a compresser mon fichier pour pouvoir le charger sur le forum.
 

YANN-56

XLDnaute Barbatruc
Re : Modele de devis

Bonsoir VIARD, et à tous,

Compatriote de l'Ouest; ton Fichier est magnifique! Superbe boulot!!!

Je viens de regarder ton profil, et si ton âge n'est pas issu d'une erreur de saisie.
Ton cadet, avec ses soixante balais, ne peut s'empêcher une petite malice
en te disant que "Viard" ne rime pas avec vieillard.... La preuve!!!

Cependant je pense qu'il serait préférable d'y aller pas à pas avec notre ami.

Là tu l'amènes sur un bateau dont il risque fort de passer par-dessus le bord
par trop se pencher sur tes maquereaux. :confused:

Respectueusement et amicalement.

Yann
 

YANN-56

XLDnaute Barbatruc
Re : Modele de devis

Re littlechild666

Effectivement ta structure actuelle ne correspond pas à ce que je fais habituellement.

Pour ma part, j'ai dans un Classeur tous les Articles avec leur désignation et leur prix (Voire plus)

Je les charge dans une ListView d'un USF.
Par suite d'un Double-click sur celle-ci, j'écris le choix de l'utilisateur dans une Feuille.

Feuille qui n'existe pas dans le Classeur maître,
mais que je vais la copier préalablement et provisoirement dans une base de données.
(Celle-ci aura les paramètres d'édition souhaités suivant la méthode traditionnelle)

Les formules de multiplication "Quantité x Prix" se feront automatiquement,
y compris la totalisation en bas de page, là où l'on le voudra.

Par la suite, un bouton de l'USF permettra d'éditer le devis,
voire avec autres écriture comme de l'enregistrer dans un dossier,
ou de l'envoyer au destinataire par Mail... Et c.

A noter que le Classeur maître n'a qu'une Feuille (Minimum d'Excel)
et un Bouton ouvrant l'USF. (Rien en tant que Formules; itou)

Il n'en demeure pas moins que si les idées de mes prédécesseurs te conviennent;
je saurai m'éclipser.

Amicalement.

Yann
 

VIARD

XLDnaute Impliqué
Re : Modele de devis

Salut Yann-56 et à tous

Salut le Morbihan.
Et non, il n'y a pas d'erreur, je veux bien mettre une virgule,mais là c'est peu jeune.
et je ne suis pas tombé dans le chaudron comme obélix.
Tu as raison sur le principe, il vaut mieux y aller lentement, mais il pourra récupérer des idées.
C'est en créant un devis sur word, que j'ai fait mes premières armes sur excel.
Maintenant c'est la vitesse de croisière, le bateau de course c'est pour plus tard.
Il y a vraiment des doués sur le site pour répondre instantanément. Moi il me faut plus de marge.
Bon courage à tous pour la suite.
Jean-Paul
 

littlechild666

XLDnaute Nouveau
Re : Modele de devis

Bonjour A tous,

Effectivement après avoir récupéré votre modèle de devis, je suis effectivement passé par dessus le bord!

A ce niveau cela me dépasse...

Je vais resté sur quelque chose de plus simple.

Yann votre modèle est dans un niveau de complexité égal à celui de notre ami?

Merci de votre temps!
 

littlechild666

XLDnaute Nouveau
Re : Modele de devis

Re :),
Quelque chose comme ça :p
Code:
Sub Imprime()
Dim NbrePages As Integer
If Range("A115") <> "" Then
NbrePages = 3
ElseIf Range("A57") <> "" Then
NbrePages = 2
Else
NbrePages = 1
End If
ActiveSheet.PageSetup.PrintArea = "Offre_" & NbrePages & "_Page"
ActiveSheet.PrintOut
End Sub
A condition de modifier ta zone nommée pour 3 pages (tu as un "s" en trop :D.
Bon courage :cool:

JNP, serait il possible avec cette macro d'imprimer les zones d'impressions présentes sur des feuilles séparées?

En fait j'ai sur la feuille principale mon devis et le bouton imprimer, et ensuite 3 feuilles, la premières Offre 1 Page, la deuxième Offre_2_Page, et la troisième Offre_3_Page, avec sur chacune de ces feuilles la zone d'impression correspondante.

La dans ta macro on est sur ActiveSheet, faut il juste modifier cela?

Merci d'avance.
 

JNP

XLDnaute Barbatruc
Re : Modele de devis

Re :),
JNP, serait il possible avec cette macro d'imprimer les zones d'impressions présentes sur des feuilles séparées?
En fait j'ai sur la feuille principale mon devis et le bouton imprimer, et ensuite 3 feuilles, la premières Offre 1 Page, la deuxième Offre_2_Page, et la troisième Offre_3_Page, avec sur chacune de ces feuilles la zone d'impression correspondante.
La dans ta macro on est sur ActiveSheet, faut il juste modifier cela?
C'est quoi la question :confused: ?
Tu avais préparé 3 zones d'impressions (avec juste un petit défaut sur la page 2 qui prenait 2 pages, mais ça peut venir de mon imprimante).
Ma macro imprime 1 à 3 page, suivant si la cellule juste après le repport est vide ou pleine...
Peux-tu préciser ?
Bonne soirée :cool:
 

littlechild666

XLDnaute Nouveau
Re : Modele de devis

Bonsoir JPN,

En fait j'ai pas mal avancé sur mon modèle, mais j'ai été obligé de créer plusieurs feuilles.

Car le problème était avec les TOTAUX, dans mon modèle avec ta macro cela imprimais bien en fonction du nombre de page remplie, mais du coup j'ai un problème avec le pied de page, et donc les totaux.

C'est a dire que si j'ai une page, a la fin j'ai total HT, une remise en % , un total HT après remise, la TVA et le total TTC. Mais si j'ai plusieurs pages, tous ces totaux ne doivent apparaitre que sur la dernière page.

j'ai donc créé plusieurs onglet qui sont des copies de ma feuille principale.

Sur ma feuille principale j'ai 3 pages a remplir.. et j'ai créé 3 feuilles " d'impression " la première qui reporte que la première page avec les totaux, le second onglet correspond aux deux première pages de ma feuille principale avec les totaux a la fin, et le 3ème onglet correspond au 3 pages A4 de ma feuille principale avec mes totaux a la fin de la 3ème page.

Je voudrais donc que la macro, après appuis sur le bouton " imprimer " choisisse l'onglet ( et la zone d'impression , correspondant au nombre de page ( et dc de ligne remplie comme ds ta première macro ).

Et sur ta macro les zones d'impression sont sur " activesheet " donc la feuille active.

Mais dans mon cas les boutons seront sur la feuille principale, mais devront se reporter aux 3 feuilles annexes.

J'espère que tu pourras m'apporter tes lumières!

Si j'arrive au therme de ce projet je pourrais poster un joli fichier!

Merci encore!
 

JNP

XLDnaute Barbatruc
Re : Modele de devis

Re :),
Le problème des sous totaux est un faux problème :rolleyes:.
Tu peux très bien les mettre sur chaque feuille, et limiter ta somme du report jusqu'au sous total de la feuille ;).
Sinon, tu peux adapter mon code comme ceci (le mieux est de définir tes zones d'impression en dur)
Code:
Sub Imprime()
If Sheets("[COLOR=red]Feuil3[/COLOR]").Range("[COLOR=red]A6[/COLOR]") <> "" Then
Sheets("[COLOR=red]Feuil3[/COLOR]").PageSetup.PrintArea = "[COLOR=red]$A1:$L50[/COLOR]"
Sheets("[COLOR=red]Feuil3[/COLOR]").PrintOut
End If
If Sheets("[COLOR=red]Feuil2[/COLOR]").Range("[COLOR=red]A6[/COLOR]") <> "" Then
Sheets("[COLOR=red]Feuil2[/COLOR]").PageSetup.PrintArea = "[COLOR=red]$A1:$L50[/COLOR]"
Sheets("[COLOR=red]Feuil2[/COLOR]").PrintOut
End If
Sheets("[COLOR=red]Feuil1[/COLOR]").PageSetup.PrintArea = "[COLOR=red]$A1:$L50[/COLOR]"
Sheets("[COLOR=red]Feuil1[/COLOR]").PrintOut
End Sub
en n'oubliant pas d'adapter ce qui est en rouge à ton fichier.
Bon courage :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 906
Membres
103 404
dernier inscrit
sultan87