Pourquoi la hauteur maximum de ma feuille est-elle fixée à 11520 ? Est-il possible d'augmenter cette limite ?
Et si la cause est ma résolution, est-il possible de contourner cet inconvénient ?
Pourquoi la hauteur maximum de ma feuille est-elle fixée à 11520 ? Est-il possible d'augmenter cette limite ?
Et si la cause est ma résolution, est-il possible de contourner cet inconvénient ?
VB , VBA ?:
Je réponds pour VB :
Oui, celà est directement relié à la résolution
Non, tu ne peux aller au -delà pour une Form
Tu peux par contre insérer dans ta form un container plus grand, mais il te faudra alors gérer un "déroulement" !![]()
Qu'il en profite pour insérer une picturebox de 20000 dans une Form de 15000 (il constatera certaines choses qui lui ouvriront de jolis horizons) !![]()
J'utilise VB6, pkoi ? Parce que c'est le premier language que j'ai appris et j'ai commencé des applis pour le bureau dans ce language là![]()
Ma résolution est fixé à 1024X768. Ma limite est 11520. Le but est d'imprimer ma form pour obtenir une feuille 8,5X11 complète.
Je dois imprimer des factures avec logos et mises en formes et c'est la façon la plus "simple" que j'ai trouvé.
Sur quoi sont faites ces factures ?
A+
Le programme utilise une bdd Access pour tout gérer. J'entre les champs dans des textbox et j'envoyais les données désirées dans la feuille mise en forme pour l'imprimer.
Merci du temps que tu prends pour m'aider.
Qu'il en profite pour insérer une picturebox de 20000 dans une Form de 15000 (il constatera certaines choses qui lui ouvriront de jolis horizons) !
Il va essayer ! Merci !
quand tu auras "constaté" ce que je sais que tu vas constater, nous parlerons ensemble d'un bon" déroulement"![]()
En insérant un picturebox de 20000, j'ai été capable d'augmenter la limite de la feuille à 20000 manuellement dans les propriétés !
Merci !!!
Merci ? D'accord et Merci pour ce merci... mais il va falloir quand même penser à un déroulement, non ?![]()
LOL, exactement ... je viens de voir ca là ... Quand j'imprime, je vois uniquement le haut non-déroulé de ma feuille ...
Bon !....![]()
On voit celà ensemble demain ?
tu ne le regretteras pas, promis !
Là, il y en a "un autre" qui m'a "usé" jusqu'à la corde.... et je suis fatigué ...![]()
Bonjour Shortcutz,
Alors, voilà :
1) tu peux augmenter la hauteur de la picturebox de beaucoup plus si tu veux
2) avant même d'insérer ta picturebox (pour être sûr que tu es sur ta Form) : insertion d'un VscrollBar, appelé Vscroll1 (donne-lui une largeur la plus étroite possible, pour des raisons esthétiques), fais-le petit et place-le en bas (pour ne pas encombrer ton champ visuel de travail
3) insère alors ta picturebox et donne-lui la hauteur que tu veux qu'elle ait (30000 si tu veux, par exemple). Donne-lui une largeur légèrement inférieure à celle de ta Form (pour faire de la place à l'ascenseur)
Injecte maintenant ce code :
Cette méthode jmfienne te permet d'éviter 2 cadres l'un dans l'autre (1 seule pictureBox et c'est tout)
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 Private Sub Form_Activate() Dim rectif As Integer, sitor As Integer rectif = 0 sitor = Me.BorderStyle If Me.BorderStyle > 0 Then rectif = 275 End If With VScroll1 .Height = Me.Height - rectif .Max = Picture1.Height .ZOrder End With VScroll1.Move Picture1.Width - (VScroll1.Width / 2), Picture1.Top End Sub Private Sub VScroll1_Change() Picture1.Top = -VScroll1.Value End Sub Private Sub VScroll1_Scroll() Picture1.Top = -VScroll1.Value End Sub
les variables sitor et rectif ne sont là que pour répondre à tous les cas de figure (barre d'outil présente ou non)
Amuse-toi à insérer des objets (textboxes par exemple) à différentes hauteurs de ta pictureBox (pour pouvoir en contrôler le bon déroulement)
Pour insérer des objets tout en bas : au stade développement : tu fais glisser vers le haut ta pictureBox, tu insères, et tu la refais glisser vers le bas pour que son bord supérieur corresponde à celui de ta form.
Tu lances.
... et observes
EDIT : si tu trouves qu'il te serait également utile d'augmenter considérablement ta feuille en largeur.... takadire ! .... on fera également...![]()
Wow, merci !
Je vais vérifier tout ça demain car là je viens d'arriver chez moi. J'ai pas travaillé aujourd'hui parce qu'il faisait trop beau dehors et c'est une des premières journées où l'on pouvait faire de la moto ici (au Québec).
Mais je vais essayé ça demain c'est sur !
Merci et a+
Fait gaffe à la gadoue (il y en a encore en campagne) et tiens-moi au courant (notamment en ce qui concerne un besoin éventuel dé dérouler en plus en largeur
avec le Québec
Hmmm je n'arrive pas à faire fonctionner tout ça. J'ai bien suivi les étapes, j'ai remplacé picture1 pour picture2 car j'ai déjà une picture box dans la feuille...
Mais je n'ai aucun résultat. Je ne comprends pas non plus comment cette procédure est activée. Que signifie concrètement Form_Activate ? Quand la feuille est activée, je sais mais est-ce qu'elle est activée quand je l'imprime à partir d'un bouton situé sur une autre feuille ?
Mais... tout celà n'a rien à voir avec l'impresion !
Dis-moi :
1) est-ce-qu'elle déroule avec l'ascenseur ou non ?
2) quelle opération finale veux-tu faire exactement, sur cette feuille ?
Attends ! je viens de relire ton 1er "post"
tu parles de ta feuille de papier ?Pourquoi la hauteur maximum de ma feuille est-elle fixée à 11520![]()
:
:
Non j'utilisais le mot feuille pour utiliser un bon français. C'est la hauteur de ma form qui me posait un problème.
Ce que je veux faire au final est d'imprimer un facture avec les données provenant d'une base de données access. Je veux me servir de la form comme modèle de facture pour l'impression (y placer mes logos, des labels et les textbox contenant les données).
Au début j'ai pensé à tout mettre en forme dans une feuille classeur Excel, mais je pensais faire plus simple en utilisant tout simplement une autre form et créer un bouton avec un code du genre :
Ce n'est pas exactement mon code évidemment (pas même PC) mais il fonctionne comme ça.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub Bouton_Click() With frm_facture .Nom = frm_Ffacture.txt_nom.text .PrintForm End With End Sub
Désolé de ce malentendu.
Ce que je veux faire au final est d'imprimer un facture avec les données provenant d'une base de données access. Je veux me servir de la form comme modèle de facture pour l'impression (y placer mes logos, des labels et les textbox contenant les données).Cà, c'est pas recommandé du tout !
![]()
Il te faut gérer l'impression de ta facture et pas faire une copie d'écran !
Si tu as peur d'utiliser Opaque Report (certains l'appelent encore Crystal Report), il esiste des moyens simples et faciles :
1) à mettre en oeuvre
2) à gérer souplement
Penses, par exemple, à la récupération par Word de certaines valeurs des champs de ta "Form".
Il te suffit pour celà de passer ces valeurs à un fichier .txt et de lancer un modèle Word dont la macro d'ouverture va :
1) lire le fichier
2) remplir ton formulaire modèle
3) imprimer
4) quitter
on peut même insérer ceette facture Word sur ta Form (Objet OLE)
Qu'en penses-tu ?
Mais, tu ne m'as pas répondu : ta "Form" déroule-t-elle ?
Ben la picturebox se déroule, jusqu'à sortir de l'écran en haut et elle laisse la place à la form derrière qui n'a pas bougé.
Pour le fichier word, tu dois savoir qu'à chaque mois, je veux que le programme me sorte près de 320 factures le même jour avec des paramètres calculés par mon programme.
Partager