begin process at 2012 02 14 22:46:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Mauvais format de variable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Mauvais format de variable

dimanche 2 décembre 2007 à 15:31:28 | Mauvais format de variable

JB76000

Bonjour

J'utilise la fonction textout pour imprimer en appelant la fonction imprimeincliné. Mon soucis actuel est le format de ma variable ecart qui gère la position horizontale. Voici mon code

X = Grille.Width / Screen.TwipsPerPixelX
Y = Grille.Height / Screen.TwipsPerPixelY
rx = X / 800
ry = Y / 600
Printer.Print
Grille.Col = 0
ecart = (Grille.CellWidth / rx) / 56.7
Grille.Col = 1
*
Retour = ImprimeIncliné("OT", 25, ecart, "Arial", 10, 0, 0, 0, 0, 0)

En fait, cela ne m'imprime rien, comme si j'étais en dehors de la page. Un msgbox placé au niveau de l'étoile me donne une valeur pour ecart de 41 et des poussières. si je place ecart=41 juste avant ma fonction d'impression, cela fonctionne. J'ai essayé val, int, les 2 combinés mais rien à faire, ca ne marche pas. Si je met if ecart=41, ca me confirme que ecart vaut 41. Je ne trouve pas mon erreur, je suppose que c'est dans le format de la variable ecart.


Merci de m'aider
Jer
dimanche 2 décembre 2007 à 15:36:56 | Re : Mauvais format de variable

jmfmarques

Membre Club
A l'examen attentif du code de ta fonction  ImprimeIncliné, j'ai bien l'impression qu'une erreur y est présente en ligne 3 (ou peut-etre en ligne 1, quien sabe ?)
Tu la vois ?... non, hein... Nous non plus, d'ailleurs !
dimanche 2 décembre 2007 à 15:44:08 | Re : Mauvais format de variable

JB76000

Je me doutais que j'aurais une réponse dans ce genre, mais ma fonction est tout à fait correcte. Elle vient d'une source que j'ai pris sur le site et elle fonctionne très bien. Le problème vient de la variable ecart qui a l'air de valoir 41 mais ce n'est apparement pas le cas. Je poste tout de meme le code de la fonction au cas ou.

Function ImprimeIncliné(Text, Vertic, Horiz, Nom_Fonte, Taille_Fonte, Ital, Corps, UnderL, Strik, Angle) As Long
    Dim RetourFonction As Long, Contexte As Long, hauteur As Double
    Printer.Print 'Initialisation du Printer.hDC (Contexte de périphérique imprimante)
    Contexte = Printer.hdc 'définition du contexte de périphérique imprimante
    ' Conversion de la taille police (en points) en 1/10 de mm
    hauteur = -(Taille_Fonte * 254) / 72 ' 1 point = 1/72 pouce = 254/72 de 1/10 de mm
    'définition du sytème de coordonnées et de l'unité logique => 0,1 mm
    MapModePrevious = SetMapMode(Contexte, MM_LOMETRIC)
    'Création de la police logique : les noms des paramètres sont explicites
    HFont = CreateFont(hauteur, 0&, Angle, Angle, Corps, Ital, UnderL, Strik, 0&, 0&, 0&, 0&, 0&, Nom_Fonte)
    'sélection de la police logique pour impression
    HFontOld = SelectObject(Contexte, HFont)
    'envoi du texte (dans la police sélectionnée) à l'imprimante ;
    'paramètres : contexte de périphérique, coordonnées en mm, texte, longueur du texte
    RetourFonction = TextOut(Contexte, 10 * Horiz, -10 * Vertic, Text, Len(Text))
    RetourFonction = SetMapMode(Contexte, MapModePrevious)
    'sélection de la police logique pour effacement
    RetourFonction = SelectObject(Contexte, HFontOld)
    'effacement de la police logique
    RetourFonction = DeleteObject(HFont)
End Function


Jer
dimanche 2 décembre 2007 à 16:29:36 | Re : Mauvais format de variable

JB76000

Réponse acceptée !
J'ai fini par trouver une solution. J'ai remplacé ecart par ecart%. Toutes mes valeurs sont désormais entières. Ca fonctionne mais ça ne m'explique toujours pas pourquoi INT(ecart) ne me donnait pas le même résultat.


Jer
dimanche 2 décembre 2007 à 17:05:28 | Re : Mauvais format de variable

jmfmarques

Membre Club
D'où l'intérêt de tout typer ...

ce que tu n'as toujours pas fait, semble-t-il, y compris en ce qui concerne les paramètres de ta fonction .


Cette discussion est classée dans : fonction, variable, grille, format, ecart


Répondre à ce message

Sujets en rapport avec ce message

VB.Net Fonction Format en .Net [ par MagDix ] Bonjour J'ai un problème avec la fonction Format. J'utilisais cette ligne de code en VB6 et tout était OK Si textbox.Text = 36275127 Dim fichier ini et variables [ par got ] Bonjour, en général dans mes programmes je stock différentes variables (paramètres, valeur en cours pour recup en cas de plantage, position de fenêtr Suppresion de plusieurs colonnes en fonction de variable [ par idrysse31 ] Bonjour, pour la suppression de plusieurs lignes en fonction de variable, la fonction suivante peut être utilisée : > Rows(LigneDebut & ":" & LigneF Pblm Format cellule [ par jeanjeandada ] Bonjour Forum, Voilà je suis coincée au niveau d'un format d'une cellule : J'ai ma cellule A5 qui est en format spécial : [h]:mm La valeur dans A5 e Comment modifier une variable passée en paramètre d'une fonction ? [ par Duke49 ] Bonsoir !!! Dans mon exemple, j'essaie de modifier la variable rtClipBoard déclaré dans mon Sub par l'intermédiaire de la fonction Analyser. Ça ne fo Format comptabilité sans symbole monétaire [ par ahmediie ] Bonjour, Voilà tout est dans le titre, j'aimerai dans mon code vba, pour la fonction format() mettre l'option "comptabilité sans symbole monétaire" ( Mettre format de cellule plus valeur dans une variable [ par 28Coco28 ] Bonjour, J'ai une variable qui vas chercher des valeurs dans des cellules sur excel pour les mettrent dans un label. Le problème est que les valeurs s [Catégorie encore modifiée VB6 --> VBA] Remplacement fonction now par une cellule date [ par bibi91470 ] Bonjour J'explique mon soucie j'ai sur mon classeur de facturation un numéro de facture qui s'incrémente lors de l'appuie sur un bouton. Voila le co [Catégorie modifiée VB6 -> VBA] Adresser l'élement d'un type par une variable [ par florentnostradamus ] Bonjour à tous, Je cherche à adresser dans une fonction l'élément d'un type défini par ailleurs par une variable qui est un argument de cette fonctio format et comparaison date [ par Mathioustone ] Resalut à tous, Je souhaiterai pouvoir comparer ma variable date_travaux à une date lambda (prenons ici le 1er janvier 2011). 1°) Je déclare ma vari


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales