Saisir une adresse et l'imprimer sur une enveloppe 220x110

Soyez le premier à donner votre avis sur cette source.

Vue 4 711 fois - Téléchargée 1 026 fois

Cette source est considérée comme dangereuse, elle a néamoins été gardée dans un but pédagogique :

Description

Tout est dit dans le Titre.
Cette maquette de projet représente la base du carnet d'adresses que vous allez développer. Il ne vous reste plus qu'à créer une base de données, l'intégrer dans ce projet, saisir vos adresses et vous pourrez ainsi envoyer de belles enveloppes à vos amis.

Fonctions actuelles:
- Saisie d'une adresse
- Choisir la police de caractère sa taille et ses attributs gras ou Italique
- Positionner l'adresse sur l'enveloppe, à l'endroit que vous voulez, à l'aide de la Souris.
- Enregistrer l'adresse et ses attributs dans le fichier PrintEnveloppe1.par
- Imprimer une enveloppe format DL -> 220x110.

Ps. Je sais que vous ce n'est pas votre tasse de thé de laisser un mot. Malgré cela, je demande à celui qui est plus courageux que les autres de répondre à la question technique ci-dessus.

J'ai volontairement fixé des limites de déplacement de l'adresse sur l'enveloppe pour être certain de ne pas la tronquer au moment de l'impression. (Voir la procédure ---> Private Sub label1_Mouseup - Label1.left = ...)

Vous constaterez que la marge de droite est plus importante que les autres marges. Si je réduis la taille de cette marge, l'adresse est tronquée au moment de l'impression. (Voir la Procédure ---> Sub OnImprime)

Je n'ais pas voulu chercher trop longtemps le pourquoi de celà, me disant qu'en échange de cette source vous alliez me donner la réponse à ma question: Pourquoi !

Conclusion :


Pour ceux qui adore critiquer: Toutes les instructions que j'utilise dans mes programmes ont été honteusement pompées dans le manuel de référence Visual Basic. Toute ressemblance avec une autre source est possible.Je programme pour m'amuser avec la technique et l'organisation qui est la mienne. Libre à ceux qui le souhaite de modifier les sources à leur convenance.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Cjvg
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017
-
Votre mail ma jeté un doute lorsque vous avez écrit --> En ce qui concerne ta question: J'ai résolu le problème.

Je n'y croyais pas beaucoup, mais, par acquis de conscience, j'ai écrit le tout petit programme qui est joint afin de confirmer ce que je pensais.

Quelque soit l'orientation choisie, la marge Basse ou Droite est toujours de 25 Mm. J'en conclu, SAUF ERREUR DE MA PART que cette marge ne peut-être réduite. Si ce n'est pas le cas, je vous demande un exemple concret pour me prouver le contraire.

J'ai installé en deux mois sur ce site, une quarantaine de projets pour apporter ma contribution.(7000 personnes les ont téléchargés et sont restés muettes comme des carpes). J'ai passé beaucoup de temps à soigner la présentation pour n'avoir en contrepartie que des critiques ou quelques remarques sans grand intérêt.

Je suis de plus en plus déçu de l'attitude des gens et je me demande si je ne ferais pas mieux de tout arrêter.

D'ou la réponse que je vous ai adressée.

J'ai reconnais avoir été un peu brutal envers vous et vous prie de bien vouloir m'en excuser.
--------------------------------------------------------------------------------------------------------

Private Sub Form_Load()

' Chargement les Options d'Impression
' -----------------------------------
'Printer.ScaleMode = vbMillimeters
Printer.ScaleMode = vbTwips '<-- €€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€
Printer.PaperSize = vbPRPSEnvDL ' 27 Enveloppe DL (11 x 22 cm)
Printer.Orientation = vbPRORLandscape ' vbPRORPortrait .
'Printer.Orientation = vbPRORPortrait 'vbPRORLandscape .
Printer.FontName = "Script MT Bold"
Printer.FontSize = 20
Printer.FontUnderline = False
Printer.FontItalic = False
Printer.FontBold = True
Printer.ForeColor = vbBlack

Printer.CurrentY = 0
Printer.CurrentX = 0

' Avec une orientation Paysage ou Portrait la marge est toujours de 25 Mm
'For i1 = 1 To 80
Printer.Print "41 Caractères " & String(31, "x") & "0123456789"
Printer.Print "40 Caractères " & String(30, "x") & "0123456789"
Printer.Print "39 Caractères " & String(29, "x") & "0123456789"
Printer.Print "38 Caractères " & String(28, "x") & "0123456789"
'Next i1
Printer.EndDoc
End

End Sub
mdry
Messages postés
33
Date d'inscription
dimanche 25 juillet 2004
Statut
Membre
Dernière intervention
5 mai 2013
-
Salut
En passant l"abréviation de
Monsieur = M. avec le point
Madame = Mme sans de point
Mademoiselle = Mlle sans de point
C'est juste à titre d'information

J'ai développé plusieurs projets mais pas sur site.
Selon vous, je site "Je n'ais pas voulu chercher trop longtemps..."
J'ai l'impression que vous n'avez jamais lus mes commentaires.
En ce qui concerne ta question: J'ai résolu le problème.
Bye
stephanechabeau
Messages postés
9
Date d'inscription
samedi 13 décembre 2003
Statut
Membre
Dernière intervention
1 mai 2007
-
Bonjour, CJVG

Je vous trouve bien sévère envers MDRY qui n'a pas fait de commentaires désobligeants mais juste quelques remarques (sans animosité) dont certaines sont d'ailleurs pertinentes.

Ceci dit, je n'ai pas la réponse à votre question mais j'ai été enthousiasmé par votre programme proposé.

Clair, bien fait et surtout pour moi....Très utile !!

Alors je me suis empressé de le transformer pour adjoindre une base de données de ma composition (Fichier à accès aléatoire)et vraiment il fonctionne bien et votre code m'a beaucoup "maché" le travail.

Donc, félicitations et merci

Stéphane
Cjvg
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017
-
J'ai l'impression que vous n'avez jamais développé un projet. Toutes ces remarques sont futiles, inexactes et n'apportent strictement rien.

Vous décortiquez minutieusement chaque ligne de la source pour essayer de trouver quelque chose et pouvoir ainsi poster un commentaire.

Je constate également que vous n'avez pas lu les rubriques Description et Conclusion.

J'ai posé une question précise que le technicien chevronné que êtes n'a pas été capable de solutionner ?.

La critique c'est très bien lorsqu'elle est justifiée. La pratique c'est mieux.
COMBIEN DE SOURCES AVEZ VOUS DEPOSEES ? ..
0 source , 0 tutoriel CS, 0 tutoriel TS, 0 snippet
mdry
Messages postés
33
Date d'inscription
dimanche 25 juillet 2004
Statut
Membre
Dernière intervention
5 mai 2013
-
Salut,

Dans Sub LecParm()
--> FreeFile: retourne un Integer, pas un Long

--> Zlec = Zlec & "€"
Inutile d'ajouter un "point écrasé" à la fin

--> Select Case D(0)
Case "Options"
If D(3) "Vrai" Then PBOLD True
If D(4) "Vrai" Then PITALIC True
Tu peux remplacer par
PBOLD = D(3)
PITALIC = D(4)
Vrai/True, Faux/False, il est convertie en Boolean

Dans Sub EcrParm()
--> Pourquoi mettre un € "point écrasé" à la fin?

Dans Sub DimMarges()
--> Pourquoi tout convertir en mm
Met le tout en Twips. De toute façon CurrentX ou CurrentY travail en Twips et ton enveloppe est aussi en Twips, donc c'est plus simple pour contrôler les marges.

Dans Sub lblCentrer_Click()
--> Tu as oublié d'informer la nouvelle position à pMarge et pTop.

Dans Sub MSHFlexGrid2_Click()
Vers la fin
Rirow = Irow
--> Ricol Ricol Remplacer par Ricol Icol

Dans Sub label1_Mouseup(...)
--> Utilise MargeGauche/MargeHaute pour les limites autorisées, non pas un chiffre quelconque. Chanque imprimante est différente.

À part de ça, tout est bien.
Bye

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.