Bonjour,
Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm)
de
la taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
Je m'explique sur le pourquoi de cette question, qui est 1 peu tordue :)
(l'explication est, elle aussi tordue :p) :
Je rentre du texte dans 1 champs de type Mémo.
Ce texte peut faire plus de 255 caractères (d'ou le type mémo) ou moins
aussi.
Par contre, j'ai 1 état statique qui ne doit pas dépasser 1 page, et où il
y
a de grandes zones pour imprimer ces mémos.
Il ne faut pas que le controle contenant le mémo dans l'état ne
s'agrandisse
si la place réservée est insuffisante. En effet, la page de l'état est
pleine et il ne faut pas 2 pages.
Dans ces grandes zones, je peux imprimer plus que 255 caractères.
En faisant quelques tests, j'ai pu en déduire que par exemple, sur 1 zone,
je pouvais imprimer 308 m ou 488 e.
Partant de ces chiffres, j'avais pensé faire 1 procédure sur BeforeUpdate
du
contrôle d'entrée dans le formulaire.
L'inconvénient, c'est que si je fixe la limite de 308 caractères maximum,
je
perds de l'espace imprimable étant donné que le texte ne sera jamais
entièrement composé que de m.
Bien sûr, je pourrais réduire l'espace non imprimable, non pas en laissant
la limite des 308, mais en utilisant 1 formule empirique où j'admettrais
par
exemple 308+(488-308)*2/3B8.
2 inconvénients : le 1er est du même ordre : je peux toujours avoir de
l'espace imprimable, même s'il est réduit.
Le 2e est le risque de se voir également le texte imprimé tronqué à la
fin,
comme si je n'avais géré aucune limite dans le formulaire.
Donc, plutôt que de fixer 1 limite, que ce soit par l'1 ou l'autre méthode
citée ci-dessus, je me suis dis :
si je pouvais connaître la largeur d'1 caractère quel qu'il soit, sachant
que la police utilisé à l'impression est Arial taille 8, alors je pourrais
savoir si le texte entré est imprimable en entier sans qu'il puisse être
tronqué.
Merci d'avance pour votre aide.
--
Cordialement,
Stéphane Lavergne
Bonjour,
Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm)
de
la taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
Je m'explique sur le pourquoi de cette question, qui est 1 peu tordue :)
(l'explication est, elle aussi tordue :p) :
Je rentre du texte dans 1 champs de type Mémo.
Ce texte peut faire plus de 255 caractères (d'ou le type mémo) ou moins
aussi.
Par contre, j'ai 1 état statique qui ne doit pas dépasser 1 page, et où il
y
a de grandes zones pour imprimer ces mémos.
Il ne faut pas que le controle contenant le mémo dans l'état ne
s'agrandisse
si la place réservée est insuffisante. En effet, la page de l'état est
pleine et il ne faut pas 2 pages.
Dans ces grandes zones, je peux imprimer plus que 255 caractères.
En faisant quelques tests, j'ai pu en déduire que par exemple, sur 1 zone,
je pouvais imprimer 308 m ou 488 e.
Partant de ces chiffres, j'avais pensé faire 1 procédure sur BeforeUpdate
du
contrôle d'entrée dans le formulaire.
L'inconvénient, c'est que si je fixe la limite de 308 caractères maximum,
je
perds de l'espace imprimable étant donné que le texte ne sera jamais
entièrement composé que de m.
Bien sûr, je pourrais réduire l'espace non imprimable, non pas en laissant
la limite des 308, mais en utilisant 1 formule empirique où j'admettrais
par
exemple 308+(488-308)*2/3B8.
2 inconvénients : le 1er est du même ordre : je peux toujours avoir de
l'espace imprimable, même s'il est réduit.
Le 2e est le risque de se voir également le texte imprimé tronqué à la
fin,
comme si je n'avais géré aucune limite dans le formulaire.
Donc, plutôt que de fixer 1 limite, que ce soit par l'1 ou l'autre méthode
citée ci-dessus, je me suis dis :
si je pouvais connaître la largeur d'1 caractère quel qu'il soit, sachant
que la police utilisé à l'impression est Arial taille 8, alors je pourrais
savoir si le texte entré est imprimable en entier sans qu'il puisse être
tronqué.
Merci d'avance pour votre aide.
--
Cordialement,
Stéphane Lavergne
Bonjour,
Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm)
de
la taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
Je m'explique sur le pourquoi de cette question, qui est 1 peu tordue :)
(l'explication est, elle aussi tordue :p) :
Je rentre du texte dans 1 champs de type Mémo.
Ce texte peut faire plus de 255 caractères (d'ou le type mémo) ou moins
aussi.
Par contre, j'ai 1 état statique qui ne doit pas dépasser 1 page, et où il
y
a de grandes zones pour imprimer ces mémos.
Il ne faut pas que le controle contenant le mémo dans l'état ne
s'agrandisse
si la place réservée est insuffisante. En effet, la page de l'état est
pleine et il ne faut pas 2 pages.
Dans ces grandes zones, je peux imprimer plus que 255 caractères.
En faisant quelques tests, j'ai pu en déduire que par exemple, sur 1 zone,
je pouvais imprimer 308 m ou 488 e.
Partant de ces chiffres, j'avais pensé faire 1 procédure sur BeforeUpdate
du
contrôle d'entrée dans le formulaire.
L'inconvénient, c'est que si je fixe la limite de 308 caractères maximum,
je
perds de l'espace imprimable étant donné que le texte ne sera jamais
entièrement composé que de m.
Bien sûr, je pourrais réduire l'espace non imprimable, non pas en laissant
la limite des 308, mais en utilisant 1 formule empirique où j'admettrais
par
exemple 308+(488-308)*2/3B8.
2 inconvénients : le 1er est du même ordre : je peux toujours avoir de
l'espace imprimable, même s'il est réduit.
Le 2e est le risque de se voir également le texte imprimé tronqué à la
fin,
comme si je n'avais géré aucune limite dans le formulaire.
Donc, plutôt que de fixer 1 limite, que ce soit par l'1 ou l'autre méthode
citée ci-dessus, je me suis dis :
si je pouvais connaître la largeur d'1 caractère quel qu'il soit, sachant
que la police utilisé à l'impression est Arial taille 8, alors je pourrais
savoir si le texte entré est imprimable en entier sans qu'il puisse être
tronqué.
Merci d'avance pour votre aide.
--
Cordialement,
Stéphane Lavergne
Bonsoir Stéphane,
la police Arial est une police *proportionnelle*. Cela signifie que les
caractères n'ont justement pas la même largeur.
Un "i" ou un "l" par exemple sont plus étroits qu'un "m" ou un "w".
La taille (corps) des caractères est en fait leur hauteur. La taille 10
est
la hauteur d'un caractère qui aurait à la fois un jambage supérieur et
inférieur (comme la lettre "f" écrite à l'ancienne).
1 point typographique vaut environ 0,352 mm. Les caractères de taille 10
ont
donc une hauteur d'environ 3,5 mm.
Si tu veux réellement te baser sur la largeur, il faut que tu choisisses
une
police *fixe* comme la police "Courier New". Alors tes simulations sur la
longueur des lignes auront un sens.
Mais, je suppose qu'en programmant, on doit pouvoir dire que si la hauteur
du contrôle mémo est supérieure à X, alors ne pas l'étendre ET diminuer la
taille des caractères de 2 points.
Aux programmeurs maintenant...
Bonne soirée,
Annette
Bonsoir Stéphane,
la police Arial est une police *proportionnelle*. Cela signifie que les
caractères n'ont justement pas la même largeur.
Un "i" ou un "l" par exemple sont plus étroits qu'un "m" ou un "w".
La taille (corps) des caractères est en fait leur hauteur. La taille 10
est
la hauteur d'un caractère qui aurait à la fois un jambage supérieur et
inférieur (comme la lettre "f" écrite à l'ancienne).
1 point typographique vaut environ 0,352 mm. Les caractères de taille 10
ont
donc une hauteur d'environ 3,5 mm.
Si tu veux réellement te baser sur la largeur, il faut que tu choisisses
une
police *fixe* comme la police "Courier New". Alors tes simulations sur la
longueur des lignes auront un sens.
Mais, je suppose qu'en programmant, on doit pouvoir dire que si la hauteur
du contrôle mémo est supérieure à X, alors ne pas l'étendre ET diminuer la
taille des caractères de 2 points.
Aux programmeurs maintenant...
Bonne soirée,
Annette
Bonsoir Stéphane,
la police Arial est une police *proportionnelle*. Cela signifie que les
caractères n'ont justement pas la même largeur.
Un "i" ou un "l" par exemple sont plus étroits qu'un "m" ou un "w".
La taille (corps) des caractères est en fait leur hauteur. La taille 10
est
la hauteur d'un caractère qui aurait à la fois un jambage supérieur et
inférieur (comme la lettre "f" écrite à l'ancienne).
1 point typographique vaut environ 0,352 mm. Les caractères de taille 10
ont
donc une hauteur d'environ 3,5 mm.
Si tu veux réellement te baser sur la largeur, il faut que tu choisisses
une
police *fixe* comme la police "Courier New". Alors tes simulations sur la
longueur des lignes auront un sens.
Mais, je suppose qu'en programmant, on doit pouvoir dire que si la hauteur
du contrôle mémo est supérieure à X, alors ne pas l'étendre ET diminuer la
taille des caractères de 2 points.
Aux programmeurs maintenant...
Bonne soirée,
Annette
Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm) de
la taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm) de
la taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm) de
la taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
Bonsoir Stéphane,
la police Arial est une police *proportionnelle*. Cela signifie que les
caractères n'ont justement pas la même largeur.
Un "i" ou un "l" par exemple sont plus étroits qu'un "m" ou un "w".
La taille (corps) des caractères est en fait leur hauteur. La taille 10
est
la hauteur d'un caractère qui aurait à la fois un jambage supérieur et
inférieur (comme la lettre "f" écrite à l'ancienne).
1 point typographique vaut environ 0,352 mm. Les caractères de taille 10
ont
donc une hauteur d'environ 3,5 mm.
Si tu veux réellement te baser sur la largeur, il faut que tu choisisses
une
police *fixe* comme la police "Courier New". Alors tes simulations sur la
longueur des lignes auront un sens.
Mais, je suppose qu'en programmant, on doit pouvoir dire que si la hauteur
du contrôle mémo est supérieure à X, alors ne pas l'étendre ET diminuer la
taille des caractères de 2 points.
Aux programmeurs maintenant...
Bonne soirée,
Annette
--------------------------------------------------------------------------
-
www.horizon-micro.com
"Stéphane Lavergne" a écrit dans le message de news:
epWHc$Bonjour,
Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm)
dela taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
Je m'explique sur le pourquoi de cette question, qui est 1 peu tordue :)
(l'explication est, elle aussi tordue :p) :
Je rentre du texte dans 1 champs de type Mémo.
Ce texte peut faire plus de 255 caractères (d'ou le type mémo) ou moins
aussi.
Par contre, j'ai 1 état statique qui ne doit pas dépasser 1 page, et où
il
ya de grandes zones pour imprimer ces mémos.
Il ne faut pas que le controle contenant le mémo dans l'état ne
s'agrandissesi la place réservée est insuffisante. En effet, la page de l'état est
pleine et il ne faut pas 2 pages.
Dans ces grandes zones, je peux imprimer plus que 255 caractères.
En faisant quelques tests, j'ai pu en déduire que par exemple, sur 1
zone,
je pouvais imprimer 308 m ou 488 e.
Partant de ces chiffres, j'avais pensé faire 1 procédure sur
BeforeUpdate
ducontrôle d'entrée dans le formulaire.
L'inconvénient, c'est que si je fixe la limite de 308 caractères
maximum,
jeperds de l'espace imprimable étant donné que le texte ne sera jamais
entièrement composé que de m.
Bien sûr, je pourrais réduire l'espace non imprimable, non pas en
laissant
la limite des 308, mais en utilisant 1 formule empirique où j'admettrais
parexemple 308+(488-308)*2/3B8.
2 inconvénients : le 1er est du même ordre : je peux toujours avoir de
l'espace imprimable, même s'il est réduit.
Le 2e est le risque de se voir également le texte imprimé tronqué à la
fin,comme si je n'avais géré aucune limite dans le formulaire.
Donc, plutôt que de fixer 1 limite, que ce soit par l'1 ou l'autre
méthode
citée ci-dessus, je me suis dis :
si je pouvais connaître la largeur d'1 caractère quel qu'il soit,
sachant
que la police utilisé à l'impression est Arial taille 8, alors je
pourrais
savoir si le texte entré est imprimable en entier sans qu'il puisse être
tronqué.
Merci d'avance pour votre aide.
--
Cordialement,
Stéphane Lavergne
Bonsoir Stéphane,
la police Arial est une police *proportionnelle*. Cela signifie que les
caractères n'ont justement pas la même largeur.
Un "i" ou un "l" par exemple sont plus étroits qu'un "m" ou un "w".
La taille (corps) des caractères est en fait leur hauteur. La taille 10
est
la hauteur d'un caractère qui aurait à la fois un jambage supérieur et
inférieur (comme la lettre "f" écrite à l'ancienne).
1 point typographique vaut environ 0,352 mm. Les caractères de taille 10
ont
donc une hauteur d'environ 3,5 mm.
Si tu veux réellement te baser sur la largeur, il faut que tu choisisses
une
police *fixe* comme la police "Courier New". Alors tes simulations sur la
longueur des lignes auront un sens.
Mais, je suppose qu'en programmant, on doit pouvoir dire que si la hauteur
du contrôle mémo est supérieure à X, alors ne pas l'étendre ET diminuer la
taille des caractères de 2 points.
Aux programmeurs maintenant...
Bonne soirée,
Annette
--------------------------------------------------------------------------
-
www.horizon-micro.com
"Stéphane Lavergne" <no@spam.fr> a écrit dans le message de news:
epWHc$EtDHA.2304@TK2MSFTNGP12.phx.gbl...
Bonjour,
Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm)
de
la taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
Je m'explique sur le pourquoi de cette question, qui est 1 peu tordue :)
(l'explication est, elle aussi tordue :p) :
Je rentre du texte dans 1 champs de type Mémo.
Ce texte peut faire plus de 255 caractères (d'ou le type mémo) ou moins
aussi.
Par contre, j'ai 1 état statique qui ne doit pas dépasser 1 page, et où
il
y
a de grandes zones pour imprimer ces mémos.
Il ne faut pas que le controle contenant le mémo dans l'état ne
s'agrandisse
si la place réservée est insuffisante. En effet, la page de l'état est
pleine et il ne faut pas 2 pages.
Dans ces grandes zones, je peux imprimer plus que 255 caractères.
En faisant quelques tests, j'ai pu en déduire que par exemple, sur 1
zone,
je pouvais imprimer 308 m ou 488 e.
Partant de ces chiffres, j'avais pensé faire 1 procédure sur
BeforeUpdate
du
contrôle d'entrée dans le formulaire.
L'inconvénient, c'est que si je fixe la limite de 308 caractères
maximum,
je
perds de l'espace imprimable étant donné que le texte ne sera jamais
entièrement composé que de m.
Bien sûr, je pourrais réduire l'espace non imprimable, non pas en
laissant
la limite des 308, mais en utilisant 1 formule empirique où j'admettrais
par
exemple 308+(488-308)*2/3B8.
2 inconvénients : le 1er est du même ordre : je peux toujours avoir de
l'espace imprimable, même s'il est réduit.
Le 2e est le risque de se voir également le texte imprimé tronqué à la
fin,
comme si je n'avais géré aucune limite dans le formulaire.
Donc, plutôt que de fixer 1 limite, que ce soit par l'1 ou l'autre
méthode
citée ci-dessus, je me suis dis :
si je pouvais connaître la largeur d'1 caractère quel qu'il soit,
sachant
que la police utilisé à l'impression est Arial taille 8, alors je
pourrais
savoir si le texte entré est imprimable en entier sans qu'il puisse être
tronqué.
Merci d'avance pour votre aide.
--
Cordialement,
Stéphane Lavergne
Bonsoir Stéphane,
la police Arial est une police *proportionnelle*. Cela signifie que les
caractères n'ont justement pas la même largeur.
Un "i" ou un "l" par exemple sont plus étroits qu'un "m" ou un "w".
La taille (corps) des caractères est en fait leur hauteur. La taille 10
est
la hauteur d'un caractère qui aurait à la fois un jambage supérieur et
inférieur (comme la lettre "f" écrite à l'ancienne).
1 point typographique vaut environ 0,352 mm. Les caractères de taille 10
ont
donc une hauteur d'environ 3,5 mm.
Si tu veux réellement te baser sur la largeur, il faut que tu choisisses
une
police *fixe* comme la police "Courier New". Alors tes simulations sur la
longueur des lignes auront un sens.
Mais, je suppose qu'en programmant, on doit pouvoir dire que si la hauteur
du contrôle mémo est supérieure à X, alors ne pas l'étendre ET diminuer la
taille des caractères de 2 points.
Aux programmeurs maintenant...
Bonne soirée,
Annette
--------------------------------------------------------------------------
-
www.horizon-micro.com
"Stéphane Lavergne" a écrit dans le message de news:
epWHc$Bonjour,
Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm)
dela taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
Je m'explique sur le pourquoi de cette question, qui est 1 peu tordue :)
(l'explication est, elle aussi tordue :p) :
Je rentre du texte dans 1 champs de type Mémo.
Ce texte peut faire plus de 255 caractères (d'ou le type mémo) ou moins
aussi.
Par contre, j'ai 1 état statique qui ne doit pas dépasser 1 page, et où
il
ya de grandes zones pour imprimer ces mémos.
Il ne faut pas que le controle contenant le mémo dans l'état ne
s'agrandissesi la place réservée est insuffisante. En effet, la page de l'état est
pleine et il ne faut pas 2 pages.
Dans ces grandes zones, je peux imprimer plus que 255 caractères.
En faisant quelques tests, j'ai pu en déduire que par exemple, sur 1
zone,
je pouvais imprimer 308 m ou 488 e.
Partant de ces chiffres, j'avais pensé faire 1 procédure sur
BeforeUpdate
ducontrôle d'entrée dans le formulaire.
L'inconvénient, c'est que si je fixe la limite de 308 caractères
maximum,
jeperds de l'espace imprimable étant donné que le texte ne sera jamais
entièrement composé que de m.
Bien sûr, je pourrais réduire l'espace non imprimable, non pas en
laissant
la limite des 308, mais en utilisant 1 formule empirique où j'admettrais
parexemple 308+(488-308)*2/3B8.
2 inconvénients : le 1er est du même ordre : je peux toujours avoir de
l'espace imprimable, même s'il est réduit.
Le 2e est le risque de se voir également le texte imprimé tronqué à la
fin,comme si je n'avais géré aucune limite dans le formulaire.
Donc, plutôt que de fixer 1 limite, que ce soit par l'1 ou l'autre
méthode
citée ci-dessus, je me suis dis :
si je pouvais connaître la largeur d'1 caractère quel qu'il soit,
sachant
que la police utilisé à l'impression est Arial taille 8, alors je
pourrais
savoir si le texte entré est imprimable en entier sans qu'il puisse être
tronqué.
Merci d'avance pour votre aide.
--
Cordialement,
Stéphane Lavergne
Bonsoir Annette.
Tu as tout à fait raison, il faut passer par une police courrier mais faut
pas croire que c'est facile. La police courrier taille 12 est sensiblement
la police de référence pouvant servir aux calculs, car elle peut
s'inscrire
en 1/10 de pouce en largeur et en 1/6 de pouce en hauteur. Selon la taille
de la police il va falloir faire la proportion des hauteurs et largeurs de
caractères par rapport à la taille 12 (facile ça). Il va falloir aussi
tenir
compte des fins de ligne et se garder une marge d'erreur.
conclusion, chaque fois, il faut convertir la largeur du cadre en 1/10 de
pouce,la hauteur en 1/6 de pouce, multipler pour avoir le nombre maximum
de
caractères imprimables à comparer avec le Len du mémo et agrandir ou
diminuer la taille jusqu'à ce que tout le texte entre dans le cadre. on
peut
choisir de ne traiter que les textes qui dépassent et ignorer les textes
courts.
tout est possible mais tout a un coût.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
[...]
Bonsoir Annette.
Tu as tout à fait raison, il faut passer par une police courrier mais faut
pas croire que c'est facile. La police courrier taille 12 est sensiblement
la police de référence pouvant servir aux calculs, car elle peut
s'inscrire
en 1/10 de pouce en largeur et en 1/6 de pouce en hauteur. Selon la taille
de la police il va falloir faire la proportion des hauteurs et largeurs de
caractères par rapport à la taille 12 (facile ça). Il va falloir aussi
tenir
compte des fins de ligne et se garder une marge d'erreur.
conclusion, chaque fois, il faut convertir la largeur du cadre en 1/10 de
pouce,la hauteur en 1/6 de pouce, multipler pour avoir le nombre maximum
de
caractères imprimables à comparer avec le Len du mémo et agrandir ou
diminuer la taille jusqu'à ce que tout le texte entre dans le cadre. on
peut
choisir de ne traiter que les textes qui dépassent et ignorer les textes
courts.
tout est possible mais tout a un coût.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
[...]
Bonsoir Annette.
Tu as tout à fait raison, il faut passer par une police courrier mais faut
pas croire que c'est facile. La police courrier taille 12 est sensiblement
la police de référence pouvant servir aux calculs, car elle peut
s'inscrire
en 1/10 de pouce en largeur et en 1/6 de pouce en hauteur. Selon la taille
de la police il va falloir faire la proportion des hauteurs et largeurs de
caractères par rapport à la taille 12 (facile ça). Il va falloir aussi
tenir
compte des fins de ligne et se garder une marge d'erreur.
conclusion, chaque fois, il faut convertir la largeur du cadre en 1/10 de
pouce,la hauteur en 1/6 de pouce, multipler pour avoir le nombre maximum
de
caractères imprimables à comparer avec le Len du mémo et agrandir ou
diminuer la taille jusqu'à ce que tout le texte entre dans le cadre. on
peut
choisir de ne traiter que les textes qui dépassent et ignorer les textes
courts.
tout est possible mais tout a un coût.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
[...]
Salut,
"Stéphane Lavergne"Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm)
de
la taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
En pixel, si tu veux bien ;-))
Debug.Print LargeurTexte ("Débrouille toi avec ca...","Arial",10)
Debug.Print LargeurTexte ("Cela convient-il ?","Arial",8)
;-)
Option Compare Database
Option Explicit
Type Size
cx As Long
cy As Long
End Type
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" _
(ByVal hwnd As Long, ByVal hDC As Long) As Long
Private Declare Function CreateFontA Lib "gdi32" _
(ByVal H As Long, ByVal W As Long, ByVal E As Long, _
ByVal O As Long, ByVal W As Long, ByVal I As Long, _
ByVal u As Long, ByVal S As Long, ByVal C As Long, _
ByVal OP As Long, ByVal CP As Long, ByVal Q As Long, _
ByVal PAF As Long, ByVal F As String) As Long
Private Declare Function SelectObject Lib "gdi32" _
(ByVal hDC As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" _
(ByVal hObject As Long) As Long
Private Declare Function GetTextExtentPoint32A Lib "gdi32" _
(ByVal hDC As Long, ByVal lpsz As String, _
ByVal cbString As Long, lpSize As Size) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" _
(ByVal hDC As Long, ByVal nIndex As Long) As Long
Public Function LargeurTexte(Texte As String, Police As String, _
Taille As Double, Optional Gras As Boolean, Optional Italique As
Boolean)
Dim hFont As Long
Dim hDC As Long
Dim TSize As Size
Dim PixpInch As Double
hDC = GetDC(0)
PixpInch = GetDeviceCaps(hDC, 90) / 72
hFont = CreateFontA(-Taille * PixpInch, 0, 0, 0, _
400 + 300 * Gras, Italique, 0, 0, 1, 0, 0, 0, 0, Police)
' If hFont = 0 Then LgTexte = CVErr(xlErrValue): Exit Function
If hFont = 0 Then LargeurTexte = 0: Exit Function
SelectObject hDC, hFont
GetTextExtentPoint32A hDC, Texte, Len(Texte), TSize
DeleteObject hFont
ReleaseDC 0, hDC
LargeurTexte = TSize.cx
End Function
--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------
Salut,
"Stéphane Lavergne"
Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm)
de
la taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
En pixel, si tu veux bien ;-))
Debug.Print LargeurTexte ("Débrouille toi avec ca...","Arial",10)
Debug.Print LargeurTexte ("Cela convient-il ?","Arial",8)
;-)
Option Compare Database
Option Explicit
Type Size
cx As Long
cy As Long
End Type
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" _
(ByVal hwnd As Long, ByVal hDC As Long) As Long
Private Declare Function CreateFontA Lib "gdi32" _
(ByVal H As Long, ByVal W As Long, ByVal E As Long, _
ByVal O As Long, ByVal W As Long, ByVal I As Long, _
ByVal u As Long, ByVal S As Long, ByVal C As Long, _
ByVal OP As Long, ByVal CP As Long, ByVal Q As Long, _
ByVal PAF As Long, ByVal F As String) As Long
Private Declare Function SelectObject Lib "gdi32" _
(ByVal hDC As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" _
(ByVal hObject As Long) As Long
Private Declare Function GetTextExtentPoint32A Lib "gdi32" _
(ByVal hDC As Long, ByVal lpsz As String, _
ByVal cbString As Long, lpSize As Size) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" _
(ByVal hDC As Long, ByVal nIndex As Long) As Long
Public Function LargeurTexte(Texte As String, Police As String, _
Taille As Double, Optional Gras As Boolean, Optional Italique As
Boolean)
Dim hFont As Long
Dim hDC As Long
Dim TSize As Size
Dim PixpInch As Double
hDC = GetDC(0)
PixpInch = GetDeviceCaps(hDC, 90) / 72
hFont = CreateFontA(-Taille * PixpInch, 0, 0, 0, _
400 + 300 * Gras, Italique, 0, 0, 1, 0, 0, 0, 0, Police)
' If hFont = 0 Then LgTexte = CVErr(xlErrValue): Exit Function
If hFont = 0 Then LargeurTexte = 0: Exit Function
SelectObject hDC, hFont
GetTextExtentPoint32A hDC, Texte, Len(Texte), TSize
DeleteObject hFont
ReleaseDC 0, hDC
LargeurTexte = TSize.cx
End Function
--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------
Salut,
"Stéphane Lavergne"Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm)
de
la taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
En pixel, si tu veux bien ;-))
Debug.Print LargeurTexte ("Débrouille toi avec ca...","Arial",10)
Debug.Print LargeurTexte ("Cela convient-il ?","Arial",8)
;-)
Option Compare Database
Option Explicit
Type Size
cx As Long
cy As Long
End Type
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" _
(ByVal hwnd As Long, ByVal hDC As Long) As Long
Private Declare Function CreateFontA Lib "gdi32" _
(ByVal H As Long, ByVal W As Long, ByVal E As Long, _
ByVal O As Long, ByVal W As Long, ByVal I As Long, _
ByVal u As Long, ByVal S As Long, ByVal C As Long, _
ByVal OP As Long, ByVal CP As Long, ByVal Q As Long, _
ByVal PAF As Long, ByVal F As String) As Long
Private Declare Function SelectObject Lib "gdi32" _
(ByVal hDC As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" _
(ByVal hObject As Long) As Long
Private Declare Function GetTextExtentPoint32A Lib "gdi32" _
(ByVal hDC As Long, ByVal lpsz As String, _
ByVal cbString As Long, lpSize As Size) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" _
(ByVal hDC As Long, ByVal nIndex As Long) As Long
Public Function LargeurTexte(Texte As String, Police As String, _
Taille As Double, Optional Gras As Boolean, Optional Italique As
Boolean)
Dim hFont As Long
Dim hDC As Long
Dim TSize As Size
Dim PixpInch As Double
hDC = GetDC(0)
PixpInch = GetDeviceCaps(hDC, 90) / 72
hFont = CreateFontA(-Taille * PixpInch, 0, 0, 0, _
400 + 300 * Gras, Italique, 0, 0, 1, 0, 0, 0, 0, Police)
' If hFont = 0 Then LgTexte = CVErr(xlErrValue): Exit Function
If hFont = 0 Then LargeurTexte = 0: Exit Function
SelectObject hDC, hFont
GetTextExtentPoint32A hDC, Texte, Len(Texte), TSize
DeleteObject hFont
ReleaseDC 0, hDC
LargeurTexte = TSize.cx
End Function
--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------
J'ai une autre idée : dire aux utilisateurs qu'Access n'est pas un
traitement de texte et les empêcher de saisir plus de caractères qu'il ne
doit en rentrer dans la page.
Qu'en dis-tu Stéphane ???
Bonsoir Raymond,
je me doute que cela ne peut être qu'approximatif.
Toutefois, ne peut-on pas imaginer, avec une police fixe, compter le
nombre
de caractères maximum que peut contenir le contrôle pour ne pas dépasser
la
page, puis, au formatage, compter le nombre de caractères que contient le
champ mémo et lorsque la limite est atteinte, soit tronquer le texte en
trop, soit réduire la taille de la police (mais dans ce dernier cas, cela
oblige à faire d'autres calculs...).
C'est d'ailleurs peut-être ce que tu proposes mais tes calculs
m'impressionnent ;-)
J'ai une autre idée : dire aux utilisateurs qu'Access n'est pas un
traitement de texte et les empêcher de saisir plus de caractères qu'il ne
doit en rentrer dans la page.
Qu'en dis-tu Stéphane ???
Bonne nuit,
Annette
--------------------------------------------------------------------------
-
www.horizon-micro.com
"Raymond [mvp]" a écrit dans le message de
news:Bonsoir Annette.
Tu as tout à fait raison, il faut passer par une police courrier mais
faut
pas croire que c'est facile. La police courrier taille 12 est
sensiblement
la police de référence pouvant servir aux calculs, car elle peut
s'inscrireen 1/10 de pouce en largeur et en 1/6 de pouce en hauteur. Selon la
taille
de la police il va falloir faire la proportion des hauteurs et largeurs
de
caractères par rapport à la taille 12 (facile ça). Il va falloir aussi
tenircompte des fins de ligne et se garder une marge d'erreur.
conclusion, chaque fois, il faut convertir la largeur du cadre en 1/10
de
pouce,la hauteur en 1/6 de pouce, multipler pour avoir le nombre maximum
decaractères imprimables à comparer avec le Len du mémo et agrandir ou
diminuer la taille jusqu'à ce que tout le texte entre dans le cadre. on
peutchoisir de ne traiter que les textes qui dépassent et ignorer les textes
courts.
tout est possible mais tout a un coût.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
[...]
J'ai une autre idée : dire aux utilisateurs qu'Access n'est pas un
traitement de texte et les empêcher de saisir plus de caractères qu'il ne
doit en rentrer dans la page.
Qu'en dis-tu Stéphane ???
Bonsoir Raymond,
je me doute que cela ne peut être qu'approximatif.
Toutefois, ne peut-on pas imaginer, avec une police fixe, compter le
nombre
de caractères maximum que peut contenir le contrôle pour ne pas dépasser
la
page, puis, au formatage, compter le nombre de caractères que contient le
champ mémo et lorsque la limite est atteinte, soit tronquer le texte en
trop, soit réduire la taille de la police (mais dans ce dernier cas, cela
oblige à faire d'autres calculs...).
C'est d'ailleurs peut-être ce que tu proposes mais tes calculs
m'impressionnent ;-)
J'ai une autre idée : dire aux utilisateurs qu'Access n'est pas un
traitement de texte et les empêcher de saisir plus de caractères qu'il ne
doit en rentrer dans la page.
Qu'en dis-tu Stéphane ???
Bonne nuit,
Annette
--------------------------------------------------------------------------
-
www.horizon-micro.com
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news: OI90olFtDHA.2508@TK2MSFTNGP12.phx.gbl...
Bonsoir Annette.
Tu as tout à fait raison, il faut passer par une police courrier mais
faut
pas croire que c'est facile. La police courrier taille 12 est
sensiblement
la police de référence pouvant servir aux calculs, car elle peut
s'inscrire
en 1/10 de pouce en largeur et en 1/6 de pouce en hauteur. Selon la
taille
de la police il va falloir faire la proportion des hauteurs et largeurs
de
caractères par rapport à la taille 12 (facile ça). Il va falloir aussi
tenir
compte des fins de ligne et se garder une marge d'erreur.
conclusion, chaque fois, il faut convertir la largeur du cadre en 1/10
de
pouce,la hauteur en 1/6 de pouce, multipler pour avoir le nombre maximum
de
caractères imprimables à comparer avec le Len du mémo et agrandir ou
diminuer la taille jusqu'à ce que tout le texte entre dans le cadre. on
peut
choisir de ne traiter que les textes qui dépassent et ignorer les textes
courts.
tout est possible mais tout a un coût.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
[...]
J'ai une autre idée : dire aux utilisateurs qu'Access n'est pas un
traitement de texte et les empêcher de saisir plus de caractères qu'il ne
doit en rentrer dans la page.
Qu'en dis-tu Stéphane ???
Bonsoir Raymond,
je me doute que cela ne peut être qu'approximatif.
Toutefois, ne peut-on pas imaginer, avec une police fixe, compter le
nombre
de caractères maximum que peut contenir le contrôle pour ne pas dépasser
la
page, puis, au formatage, compter le nombre de caractères que contient le
champ mémo et lorsque la limite est atteinte, soit tronquer le texte en
trop, soit réduire la taille de la police (mais dans ce dernier cas, cela
oblige à faire d'autres calculs...).
C'est d'ailleurs peut-être ce que tu proposes mais tes calculs
m'impressionnent ;-)
J'ai une autre idée : dire aux utilisateurs qu'Access n'est pas un
traitement de texte et les empêcher de saisir plus de caractères qu'il ne
doit en rentrer dans la page.
Qu'en dis-tu Stéphane ???
Bonne nuit,
Annette
--------------------------------------------------------------------------
-
www.horizon-micro.com
"Raymond [mvp]" a écrit dans le message de
news:Bonsoir Annette.
Tu as tout à fait raison, il faut passer par une police courrier mais
faut
pas croire que c'est facile. La police courrier taille 12 est
sensiblement
la police de référence pouvant servir aux calculs, car elle peut
s'inscrireen 1/10 de pouce en largeur et en 1/6 de pouce en hauteur. Selon la
taille
de la police il va falloir faire la proportion des hauteurs et largeurs
de
caractères par rapport à la taille 12 (facile ça). Il va falloir aussi
tenircompte des fins de ligne et se garder une marge d'erreur.
conclusion, chaque fois, il faut convertir la largeur du cadre en 1/10
de
pouce,la hauteur en 1/6 de pouce, multipler pour avoir le nombre maximum
decaractères imprimables à comparer avec le Len du mémo et agrandir ou
diminuer la taille jusqu'à ce que tout le texte entre dans le cadre. on
peutchoisir de ne traiter que les textes qui dépassent et ignorer les textes
courts.
tout est possible mais tout a un coût.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
[...]
Bonsoir Raymond,
Bonsoir Raymond,
Bonsoir Raymond,
Salut,
"Stéphane Lavergne"Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm)
de
la taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
En pixel, si tu veux bien ;-))
Debug.Print LargeurTexte ("Débrouille toi avec ca...","Arial",10)
Debug.Print LargeurTexte ("Cela convient-il ?","Arial",8)
;-)
Option Compare Database
Option Explicit
Type Size
cx As Long
cy As Long
End Type
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" _
(ByVal hwnd As Long, ByVal hDC As Long) As Long
Private Declare Function CreateFontA Lib "gdi32" _
(ByVal H As Long, ByVal W As Long, ByVal E As Long, _
ByVal O As Long, ByVal W As Long, ByVal I As Long, _
ByVal u As Long, ByVal S As Long, ByVal C As Long, _
ByVal OP As Long, ByVal CP As Long, ByVal Q As Long, _
ByVal PAF As Long, ByVal F As String) As Long
Private Declare Function SelectObject Lib "gdi32" _
(ByVal hDC As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" _
(ByVal hObject As Long) As Long
Private Declare Function GetTextExtentPoint32A Lib "gdi32" _
(ByVal hDC As Long, ByVal lpsz As String, _
ByVal cbString As Long, lpSize As Size) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" _
(ByVal hDC As Long, ByVal nIndex As Long) As Long
Public Function LargeurTexte(Texte As String, Police As String, _
Taille As Double, Optional Gras As Boolean, Optional Italique As
Boolean)
Dim hFont As Long
Dim hDC As Long
Dim TSize As Size
Dim PixpInch As Double
hDC = GetDC(0)
PixpInch = GetDeviceCaps(hDC, 90) / 72
hFont = CreateFontA(-Taille * PixpInch, 0, 0, 0, _
400 + 300 * Gras, Italique, 0, 0, 1, 0, 0, 0, 0, Police)
' If hFont = 0 Then LgTexte = CVErr(xlErrValue): Exit Function
If hFont = 0 Then LargeurTexte = 0: Exit Function
SelectObject hDC, hFont
GetTextExtentPoint32A hDC, Texte, Len(Texte), TSize
DeleteObject hFont
ReleaseDC 0, hDC
LargeurTexte = TSize.cx
End Function
--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------
Salut,
"Stéphane Lavergne"
Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm)
de
la taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
En pixel, si tu veux bien ;-))
Debug.Print LargeurTexte ("Débrouille toi avec ca...","Arial",10)
Debug.Print LargeurTexte ("Cela convient-il ?","Arial",8)
;-)
Option Compare Database
Option Explicit
Type Size
cx As Long
cy As Long
End Type
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" _
(ByVal hwnd As Long, ByVal hDC As Long) As Long
Private Declare Function CreateFontA Lib "gdi32" _
(ByVal H As Long, ByVal W As Long, ByVal E As Long, _
ByVal O As Long, ByVal W As Long, ByVal I As Long, _
ByVal u As Long, ByVal S As Long, ByVal C As Long, _
ByVal OP As Long, ByVal CP As Long, ByVal Q As Long, _
ByVal PAF As Long, ByVal F As String) As Long
Private Declare Function SelectObject Lib "gdi32" _
(ByVal hDC As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" _
(ByVal hObject As Long) As Long
Private Declare Function GetTextExtentPoint32A Lib "gdi32" _
(ByVal hDC As Long, ByVal lpsz As String, _
ByVal cbString As Long, lpSize As Size) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" _
(ByVal hDC As Long, ByVal nIndex As Long) As Long
Public Function LargeurTexte(Texte As String, Police As String, _
Taille As Double, Optional Gras As Boolean, Optional Italique As
Boolean)
Dim hFont As Long
Dim hDC As Long
Dim TSize As Size
Dim PixpInch As Double
hDC = GetDC(0)
PixpInch = GetDeviceCaps(hDC, 90) / 72
hFont = CreateFontA(-Taille * PixpInch, 0, 0, 0, _
400 + 300 * Gras, Italique, 0, 0, 1, 0, 0, 0, 0, Police)
' If hFont = 0 Then LgTexte = CVErr(xlErrValue): Exit Function
If hFont = 0 Then LargeurTexte = 0: Exit Function
SelectObject hDC, hFont
GetTextExtentPoint32A hDC, Texte, Len(Texte), TSize
DeleteObject hFont
ReleaseDC 0, hDC
LargeurTexte = TSize.cx
End Function
--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------
Salut,
"Stéphane Lavergne"Est-il possible de connaître la longueur (en pixel ou en pouce ou en cm)
de
la taille de chaque caractère d'1 police truetype, Arial taille 8 en
l'occurence ?
En pixel, si tu veux bien ;-))
Debug.Print LargeurTexte ("Débrouille toi avec ca...","Arial",10)
Debug.Print LargeurTexte ("Cela convient-il ?","Arial",8)
;-)
Option Compare Database
Option Explicit
Type Size
cx As Long
cy As Long
End Type
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" _
(ByVal hwnd As Long, ByVal hDC As Long) As Long
Private Declare Function CreateFontA Lib "gdi32" _
(ByVal H As Long, ByVal W As Long, ByVal E As Long, _
ByVal O As Long, ByVal W As Long, ByVal I As Long, _
ByVal u As Long, ByVal S As Long, ByVal C As Long, _
ByVal OP As Long, ByVal CP As Long, ByVal Q As Long, _
ByVal PAF As Long, ByVal F As String) As Long
Private Declare Function SelectObject Lib "gdi32" _
(ByVal hDC As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" _
(ByVal hObject As Long) As Long
Private Declare Function GetTextExtentPoint32A Lib "gdi32" _
(ByVal hDC As Long, ByVal lpsz As String, _
ByVal cbString As Long, lpSize As Size) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" _
(ByVal hDC As Long, ByVal nIndex As Long) As Long
Public Function LargeurTexte(Texte As String, Police As String, _
Taille As Double, Optional Gras As Boolean, Optional Italique As
Boolean)
Dim hFont As Long
Dim hDC As Long
Dim TSize As Size
Dim PixpInch As Double
hDC = GetDC(0)
PixpInch = GetDeviceCaps(hDC, 90) / 72
hFont = CreateFontA(-Taille * PixpInch, 0, 0, 0, _
400 + 300 * Gras, Italique, 0, 0, 1, 0, 0, 0, 0, Police)
' If hFont = 0 Then LgTexte = CVErr(xlErrValue): Exit Function
If hFont = 0 Then LargeurTexte = 0: Exit Function
SelectObject hDC, hFont
GetTextExtentPoint32A hDC, Texte, Len(Texte), TSize
DeleteObject hFont
ReleaseDC 0, hDC
LargeurTexte = TSize.cx
End Function
--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/charte.htm
--------------------------------------
Bonjour,
J'utilise la fonction de Pierre qui me retourne la taille en pixel d'1
texte
en arial taille 8.
Je n'ai plus qu'à convertir les pixels en centimères afin de les comparer
à
la largeur d'1 zone imprimable.
Mais je dois avoir 1 erreur dans ma formule de conversion pixel => cm
J'utilise 1 pixel = 1/72 pouce et 1 pouce = 2.54 cm.
Je prends 1 exemple :
Texte exemple :
Si vous avez entré l'adresse de cette page dans la barre d'adresses,
vérifiez qu'elle est correcte. Pour vérifier vos paramètres de connexion,
cliquez sur le menu Outils, puis sur Options Internet. Dans l'onglet
Connexions, cliquez sur Paramètres réseau. Les paramètres doivent
correspondre à ceux fournis par votre administrateur réseau ou par votre
fournisseur de services Internet. Cliquez sur le bouton Précédente pour
essayer un autre lien.
J'imprime ce texte en Arial 8 sans gras ni italique dans Word.
En mesurant ce texte à la règle, j'obtient 1 longueur de 55.3 cm.
La limite de ma zone imprimable est fixée à 71.2 cm
Donc, ce texte devrait être imprimable dans ma zone en entier.
J'utilise la fonction de Pierre,
largeur_pixel_form = LargeurTexte(Me.Texte1, "Arial", 8, False, False)
et j'obtiens que ce texte fait 2 152 pixels.
En utilisant la formule que je pensais juste, mais qui est très
certaiement
la source de mon erreur, j'obtiens :
(2152/72)*2.54 = 75.9 cm
L'erreur de ce calcul fait 1 différence de 75.9 - 71.2 = 4.7 cm (en trop)
au
lieu de 55.3-71.2 = - 15.9 cm (longueur imprimable restante)
Savez-vous où se trouve mon erreur ? Je pense que c'est la conversion
pixel
=> cm.
Merci d'avance
Stéphane
[...]
Bonjour,
J'utilise la fonction de Pierre qui me retourne la taille en pixel d'1
texte
en arial taille 8.
Je n'ai plus qu'à convertir les pixels en centimères afin de les comparer
à
la largeur d'1 zone imprimable.
Mais je dois avoir 1 erreur dans ma formule de conversion pixel => cm
J'utilise 1 pixel = 1/72 pouce et 1 pouce = 2.54 cm.
Je prends 1 exemple :
Texte exemple :
Si vous avez entré l'adresse de cette page dans la barre d'adresses,
vérifiez qu'elle est correcte. Pour vérifier vos paramètres de connexion,
cliquez sur le menu Outils, puis sur Options Internet. Dans l'onglet
Connexions, cliquez sur Paramètres réseau. Les paramètres doivent
correspondre à ceux fournis par votre administrateur réseau ou par votre
fournisseur de services Internet. Cliquez sur le bouton Précédente pour
essayer un autre lien.
J'imprime ce texte en Arial 8 sans gras ni italique dans Word.
En mesurant ce texte à la règle, j'obtient 1 longueur de 55.3 cm.
La limite de ma zone imprimable est fixée à 71.2 cm
Donc, ce texte devrait être imprimable dans ma zone en entier.
J'utilise la fonction de Pierre,
largeur_pixel_form = LargeurTexte(Me.Texte1, "Arial", 8, False, False)
et j'obtiens que ce texte fait 2 152 pixels.
En utilisant la formule que je pensais juste, mais qui est très
certaiement
la source de mon erreur, j'obtiens :
(2152/72)*2.54 = 75.9 cm
L'erreur de ce calcul fait 1 différence de 75.9 - 71.2 = 4.7 cm (en trop)
au
lieu de 55.3-71.2 = - 15.9 cm (longueur imprimable restante)
Savez-vous où se trouve mon erreur ? Je pense que c'est la conversion
pixel
=> cm.
Merci d'avance
Stéphane
[...]
Bonjour,
J'utilise la fonction de Pierre qui me retourne la taille en pixel d'1
texte
en arial taille 8.
Je n'ai plus qu'à convertir les pixels en centimères afin de les comparer
à
la largeur d'1 zone imprimable.
Mais je dois avoir 1 erreur dans ma formule de conversion pixel => cm
J'utilise 1 pixel = 1/72 pouce et 1 pouce = 2.54 cm.
Je prends 1 exemple :
Texte exemple :
Si vous avez entré l'adresse de cette page dans la barre d'adresses,
vérifiez qu'elle est correcte. Pour vérifier vos paramètres de connexion,
cliquez sur le menu Outils, puis sur Options Internet. Dans l'onglet
Connexions, cliquez sur Paramètres réseau. Les paramètres doivent
correspondre à ceux fournis par votre administrateur réseau ou par votre
fournisseur de services Internet. Cliquez sur le bouton Précédente pour
essayer un autre lien.
J'imprime ce texte en Arial 8 sans gras ni italique dans Word.
En mesurant ce texte à la règle, j'obtient 1 longueur de 55.3 cm.
La limite de ma zone imprimable est fixée à 71.2 cm
Donc, ce texte devrait être imprimable dans ma zone en entier.
J'utilise la fonction de Pierre,
largeur_pixel_form = LargeurTexte(Me.Texte1, "Arial", 8, False, False)
et j'obtiens que ce texte fait 2 152 pixels.
En utilisant la formule que je pensais juste, mais qui est très
certaiement
la source de mon erreur, j'obtiens :
(2152/72)*2.54 = 75.9 cm
L'erreur de ce calcul fait 1 différence de 75.9 - 71.2 = 4.7 cm (en trop)
au
lieu de 55.3-71.2 = - 15.9 cm (longueur imprimable restante)
Savez-vous où se trouve mon erreur ? Je pense que c'est la conversion
pixel
=> cm.
Merci d'avance
Stéphane
[...]