[Excel-VBA]Projet de mise en page automatique

Fermé
ks13 Messages postés 191 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 1 août 2011 - 11 sept. 2006 à 01:48
ks13 Messages postés 191 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 1 août 2011 - 13 sept. 2006 à 16:22
Salut pour ceux qui ne me connaissent pas et re-salut a ceux qui ont eu le malheur ou la joie de discuter deja avec moi (depends du point de vue). Bref, comme le titre l'indique, je voudrais essaier de faire une macro qui met en page un tableau bo**elique pour ceux qui ne savent pas le faire par eux meme (eh oui, tout le monde ne sait pas faire cela manuellement u_u, et ce n'est pas de moi dont je parle ^^;).

Apres l'aide tant apreciee d'armojax, je connais quelques fonctions de vba et faire des macros pas trop complexes ^^; mais pour cette nouvelle macro je crains ne pas avoir assez de connaissances. Bon, j'arrete avec les rant et je passe au sujet :

J'ai un tableau represantant un devis, vous pouvez telecharger l'exemple vide a cette adresse : https://www.cjoint.com/?jlbuKKh141

Comme montre dans l'exemple, il y a une partie contenant le n° et date du devis, et a droite le nom et les coordonnees du client. Ensuite dans la partie gauche d'abord l'adresse du chantier, ensuite les differentes taches a realiser et, si elles existent, les differentes parties d'apres lequelles on repartira les taches. Juste a droite on a le prix unitaire et la quantite (meme si je dis taches, des fois la partie a gauche contiens du materiel, necessitant une certaine quantitee superieure a 1). Le rete sont le total par ache, et somme ht tva et somme ttc, qui sont de simples calculs mathematiques ^^;

Bref, ce qui doit etre fait ici, c'est de permettre a l'utilisateur de 'taper au kilometre' (je crois que c'est la bonne expression, mais corrigez moi si je me trompe) et ensuite la macro fera la repartition du texte entre les pages et du retour a la ligne des taches ayant un texte plus long que la ligne. Il y a une regle a respecter : du au logo devant etre imprime il doit y avoir une marge de 9 lignes sur le haut du document.

Voila a peu pres le boulot que la macro doit effectuer. Maintenant, je vais bien sur essayer de me debrouille tout seul, mais je voudrais savoir, avant de commencer, quelque chose pour mieux planifier mon travail.

Donc, en 1er je voudrais savoir s'il est possible de limiter la longueur d'un texte d'apres l'epacement de 2 bordures (ceci concerne la partie contenant les taches).
Ensuite, comment faire pour savoir quelle ligne est la derniere ligne de la page actuelle? (il faut bien separer les pages avec la marge de 9 lignes).
Apres...bein, il ne me viens plus rien a l'esprit, mais, comme vous devez vous en douter je repasserais par ici pour poser d'autres questions si j'en ai ^^.

Voila, je sais que c'est long, mais je prefere bien expliquer pour que tout le monde comprenne, plutot qu'expliquer le probleme a chaq'un separement ^^;

Merci d'avance.
A voir également:

5 réponses

UsulArrakis Messages postés 7405 Date d'inscription vendredi 28 mars 2003 Statut Contributeur Dernière intervention 27 janvier 2022 3 182
11 sept. 2006 à 08:14
salut
juste comme ça : pourquoi tu ne crées pas un formulaire ?
ceux qui remplissent seraient ainsi obligé d'aller dans les bonnes cases à remplir ou à cocher ?
0
ks13 Messages postés 191 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 1 août 2011 23
11 sept. 2006 à 17:31
hmmm, je voudrais juste te poser une question : pourrais tu preciser ta pensee, parceque la je ne vois pas comment cela ameliora la mise en page ^^;
0
UsulArrakis Messages postés 7405 Date d'inscription vendredi 28 mars 2003 Statut Contributeur Dernière intervention 27 janvier 2022 3 182
12 sept. 2006 à 08:04
salut
le formulaire te permet de mettre des champs à remplir, de définir leur taille (nb de caractères maxi) leur type (nb, texte, date...)

quand les gens remplissent ton formulaire celui-ci est verrouillé donc ils ne peuvent pas "déborder" et écrire n'importe où et n'importe comment

tu fais ta mise en page du document, tu insères tes champs ou cases à cocher ...puis tu verrouilles ensuite les gens n'ont qu'à remplir le formulaire

par la suite il est toujours possible de récupérer ses infos sous forme de BDD dans excel ou Access mais là je m'y connais nettement moins ;-)

un très bon site à visiter :
http://www.cathyastuce.com/index.htm

@+
0
ks13 Messages postés 191 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 1 août 2011 23
12 sept. 2006 à 14:48
hmmm, je vois ce ke tu ve dire maintenant, mais, ce n'est pas ce que je voulais faire, en fait, considerons la situation suivante : l'utilisateur ne sais pas qu'il doit passer a la ligne une fois qu'il a atteint la bordure, et il ne sais pas separer le texte entre les pages avec la marge du haut. Voila a peu pres comment on considerera l'utilisateur, ce que je voulais faire c'est laisser l'utilisateur entrer sont texte a sa facon et le mettre en page automatiquement une fois qu'il ait cliqué sur le bouton de la macro (de plus, l'utilisateur etant habitué a "travailler" sur une feuille comme l'exemple que j'ai mis plus haut on essaiera de ne pas le changer).

Ce que je ne sais pas faire c'est verifier la longueur du texte d'une ligne et s'il est trop long selectionner la partie qui deborde et la mettre a la ligne suivante, et si cette partie est trop longue pour la nouvelle ligne selectionner encore la partie qui deborde et la mettre sur une nouvelle ligne, et ainsi de suite. L'autre chose c'est verifier ou est la fin d'une page et ajouter la marge eh haut de la nouvelle page s'il existe plus d'une page.D'ou mes 2 questions plus haut ^^;
0
UsulArrakis Messages postés 7405 Date d'inscription vendredi 28 mars 2003 Statut Contributeur Dernière intervention 27 janvier 2022 3 182
12 sept. 2006 à 15:22
OK
là effectivement c'est du vba pur et dur ;-)
voir ici : https://support.microsoft.com/newsgroups/default.aspx

ou là : http://faqword.free.fr/ et poser la question à marina
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ks13 Messages postés 191 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 1 août 2011 23
13 sept. 2006 à 16:22
oki, je vais aller voir ca, merci
0