Methode print plante dans une boucle HELP!!!!

nofxmxpx Messages postés 33 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 21 avril 2006 - 10 févr. 2005 à 15:04
nofxmxpx Messages postés 33 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 21 avril 2006 - 14 févr. 2005 à 11:09
lorsque je fait printer.Print monTableau(i) dans une boucle for ça plante , j'ai retourné le pb dans tous les sens je ne trouve pas !!!!

si quelqu'un peu m'aider ...

NoFxmXpX !§!§

5 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
10 févr. 2005 à 16:15
Sans autres précisions ça va être dur de t'aider.

--> le type d'erreur
--> le type et la taille des variables
--> le code qui plante (la ligne et un peu de tous ce qui a autour serait pas mal)
--> ....................
--> plus tout ce qui peut être utile à trouver une erreur.
0
nofxmxpx Messages postés 33 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 21 avril 2006
11 févr. 2005 à 08:45
Je repost la question que j'avais posé plus en détai :

Voila je suis en stage mon projet est terminé à part l'impression d'une carte et d'imformations que je met dessus.
lorsque j'utilise le méthode print du printer ma carte s'imprime mais pas ce qu'il y a dans la boucle ou j'ai mon instruction printer.
Ensuite l'imprimante me sort plein de feuilles blanches.

voila mon code :

Private Sub ImprimerCarte_Click()


Printer.Width = 11000
Printer.Height = 15000





Printer.PaintPicture Picture1.Picture, 0, 0


xpicE = ((xEven - 251170) * 0.085) + 1150 'calcul des coordonnées selon l'échelle
ypicE = (Abs(yEven - 2233140) * 0.085) + 400


Printer.ScaleMode = vbTwips


Printer.DrawWidth = 30 'taille des points


Printer.PSet (xpicE, ypicE), RGB(250, 0, 0) 'on dessine le point



Printer.DrawWidth = 1 'taille du tracage des cercles


picRay = CDbl(cboRayon.Text) * 1000 * 0.085 'calcul du rayon du cercle selon l'echelle
picRayinit = picRay



For i = 1 To numTour 'tracage des cecles

Printer.Circle (xpicE, ypicE), picRay, RGB(0, 250, 0)

picRay = picRay + picRayinit

Next i

Printer.DrawWidth = 20 'taille des points des CS

For i = 1 To nbCs - 1 'on dessine les points des CS

xPic = ((TCS(i).xCS - 251170) * 0.085) + 1150
yPic = (Abs(TCS(i).yCS - 2233140) * 0.085) + 400

j = 0

'on recherche la correspondance
While TCS(i).id_cs <> TCSEven(j).id_cs And j < nbCSEven

j = j + 1

Wend

'si le CS est retenu (code couleur)
If TCSEven(j).retenu = "Retenu" Then

Printer.PSet (xPic, yPic), RGB(250, 15, 162) ' couleur du point affiché
Printer.ForeColor = RGB(250, 0, 0) ' couleur du texte qui sera affiché

Else

Printer.PSet (xPic, yPic), RGB(125, 85, 162) ' couleur du point affiché
Printer.ForeColor = RGB(0, 0, 0) ' couleur du texte qui sera affiché

End If

With Printer

.CurrentX = xPic ' définit le X courant de la picture box
.CurrentY = yPic ' définit le Y courant de la picturebox
'.ForeColor = RGB(0, 0, 0) ' couleur du texte qui sera affiché
.FontSize = 6 ' définit la taille du texte
.Font = "Arial" ' le texte sera tapé avec la police Verdana
.FontBold = False ' le texte ne sera pas en gras
.FontItalic = False ' le texte ne sera pas en italique
.FontStrikethru = False ' le texte ne sera pas barré
.FontUnderline = True ' le texte sera souligné

End With

Printer.Print TCS(i).libCS
'Printer.Line (xPic, yPic)-(xPic + 200, yPic) 'ligne du haut


Next i

Printer.EndDoc


End Sub

Lorsque je lance le même code avec à la place de printer.print, printer.line.... l'impression fonctionne normalement en affichant les lignes.

merci d'avance.

NoFxmXpX !§!§
0
nofxmxpx Messages postés 33 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 21 avril 2006
11 févr. 2005 à 08:49
J'ai résolu mon problème en passant par une picture box et en imprimant l'image de ma picture box .Mais j'aimerai tout de meme savoir si quelqu'un peut savoir d'où vient le problème.

NoFxmXpX !§!§
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
11 févr. 2005 à 09:23
A part un problème sur ta variable TCS(i).libCS je ne vois pas

Dans le code que tu as mis, il n'y a aucune déclaration même pour les variables qui semblent être locales. Vérifie que tes variables sont déclarées proprement avec les bon types.
Sans déclaration tes variables sont de type Variant. Personellement je suis très méfiant avec ce type de variable.

Vérifie que TCS(i).libCS est bien du type string (j'ai cru deviné que c'était un texte que tu imprime à cet endroit)

sinon essaye de passer par une variable temporaire

tmp=TCS(i).libCS
printer.print tmp

Sinon je ne vois pas
0

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

Posez votre question
nofxmxpx Messages postés 33 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 21 avril 2006
14 févr. 2005 à 11:09
déja verifié aucun problème de variables. que je les déclares dans ma proc ou au début du prog tjrs le meme problème.

J'avais aussi essayer par une variable temporaire . Aucun resultat.

Merci de ton aide. De toute façon cette méthode print avec un printer ne m'inspire pas trop confiance même si je l'utilise beaucoup . Tant que ça marche ça va quand ça marche plus on passe à autre chose.



NoFxmXpX !§!§
0
Rejoignez-nous