Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

situer un texte dans un état

10 réponses
Avatar
alyl
Bonjour

J'ai une zone de texte ayant pour valeur

=3DVraiFaux(EstNull([Titre]);"";[Titre] & Car(13) & Car(10)) &
VraiFaux(EstNull([Pr=E9nom]);[NomFamille] & Car(13) & Car(10);[Pr=E9nom] &
" " & [NomFamille] & Car(13) & Car(10)) & VraiFaux(EstNull([Soci=E9t=E9/
Entreprise]);"";[Soci=E9t=E9/Entreprise] & Car(13) & Car(10)) &
VraiFaux(EstNull([ContactPersonne]);"";[ContactPersonne] & Car(13) &
Car(10)) & [Adresse] & Car(13) & Car(10) & [Expr2]


Est-il possible de le positionner, par VBA, de telle fa=E7on que la
derni=E8re partie de l'adresse vient toujours =E0 2 cm du bord de mon
=E9tat ?
Ce qui se passe en ce moment c'est que les valeurs nulles prises en
compte "d=E9placent" ma zone de texte.Certaines sont plus hautes si
aucune condition n'est nulle; si plusieures conditions sont nulles
j'ai alors une adresse tr=E8s =E9loign=E9e de bord, puisque access commence
par le haut
J'aimerais avoir toutes mes adresses align=E9es sur le bas de la feuille
et non sur le haut de ma zone de texte.
Quelqu'un a-t-il une id=E9e ??
merci d'avance
ally

10 réponses

Avatar
Gloops
Bonjour,

A mon sens, il y aurait lieu de revoir le rôle des propriétés
autoextensible et autoréductible, de celui du pied de page, de tourner
ça un peu dans tous les sens, et de nous dire si la question se pose
toujours. Ou alors dire si ça a déjà été fait ...
___________________________________
alyl a écrit, le 17/08/2008 14:34 :
Bonjour

J'ai une zone de texte ayant pour valeur

=VraiFaux(EstNull([Titre]);"";[Titre] & Car(13) & Car(10)) &
VraiFaux(EstNull([Prénom]);[NomFamille] & Car(13) & Car(10);[Prénom ] &
" " & [NomFamille] & Car(13) & Car(10)) & VraiFaux(EstNull([Société /
Entreprise]);"";[Société/Entreprise] & Car(13) & Car(10)) &
VraiFaux(EstNull([ContactPersonne]);"";[ContactPersonne] & Car(13) &
Car(10)) & [Adresse] & Car(13) & Car(10) & [Expr2]


Est-il possible de le positionner, par VBA, de telle façon que la
dernière partie de l'adresse vient toujours à 2 cm du bord de mon
état ?
Ce qui se passe en ce moment c'est que les valeurs nulles prises en
compte "déplacent" ma zone de texte.Certaines sont plus hautes si
aucune condition n'est nulle; si plusieures conditions sont nulles
j'ai alors une adresse très éloignée de bord, puisque access comm ence
par le haut
J'aimerais avoir toutes mes adresses alignées sur le bas de la feuill e
et non sur le haut de ma zone de texte.
Quelqu'un a-t-il une idée ??
merci d'avance
ally


Avatar
alyl
Bonjour


J'ai essayé tout ce qu'on peut faire sans VBA (Pied de page, marges,
déplacement manuel etc)
je n'arrive pas bien ( ou pour être honnête pas du tout )
à faire une proprieté autoextensible ou autoréductible qui marche et
qui se déplace automatiquement vers le bas si des champs sont vides.
Toutes les marges se recalculent automatiquement en partant de la
gauche et du haut
et non pas comme j'en ai besoin càd que la zone texte se resitue en
partant de la droite et du bas
Est- ce qu'on peut atteindre cela avec du VBA ?
les proprietés autoextensible et autoreductiblede la zone texte me
paraissent en fait indépendant de l'endroit
où est la zone de texte...... ou bien ai-je raté quelque chose ?
ma fonction marche en soit quant au contenu ce qui ne marche pas c'est
l'endroit ou elle s'inscrit.

Merci de votre aide
ally
On 18 août, 05:24, Gloops wrote:
Bonjour,

A mon sens, il y aurait lieu de revoir le rôle des propriétés
autoextensible et autoréductible, de celui du pied de page, de tourner
ça un peu dans tous les sens, et de nous dire si la question se pose
toujours. Ou alors dire si ça a déjà été fait ...
___________________________________
alyl a écrit, le 17/08/2008 14:34 :



> Bonjour

> J'ai une zone de  texte ayant pour valeur

> =VraiFaux(EstNull([Titre]);"";[Titre] & Car(13) & Car(10)) &
> VraiFaux(EstNull([Prénom]);[NomFamille] & Car(13) & Car(10);[Prénom ] &
> " " & [NomFamille] & Car(13) & Car(10)) & VraiFaux(EstNull([Société /
> Entreprise]);"";[Société/Entreprise] & Car(13) & Car(10)) &
> VraiFaux(EstNull([ContactPersonne]);"";[ContactPersonne] & Car(13) &
> Car(10)) & [Adresse] & Car(13) & Car(10) & [Expr2]

> Est-il possible de le positionner, par VBA, de telle façon que la
> dernière partie de l'adresse vient toujours à 2 cm du bord de mon
> état ?
> Ce qui se passe en ce moment c'est que les valeurs nulles prises en
> compte "déplacent" ma zone de texte.Certaines sont plus hautes si
> aucune condition n'est nulle; si plusieures conditions sont nulles
> j'ai alors une adresse très éloignée de bord, puisque access comm ence
> par le haut
> J'aimerais avoir toutes mes adresses alignées sur le bas de la feuill e
> et non sur le haut de ma zone de texte.
> Quelqu'un a-t-il une idée ??
> merci d'avance
> ally- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Michel__D
Bonjour,

Si j'ai à peu prés suivi, essaye ceci

Place les lignes vides en haut

=Nz([Titre]);"") & Car(13) & Car(10)) &
VraiFaux(EstNull([Société/Entreprise]);Car(13) & Car(10);"") &
VraiFaux(EstNull([ContactPersonne]);Car(13) & Car(10);"") &
VraiFaux(EstNull([Prénom]);[NomFamille];[Prénom] & " " &
[NomFamille]) & Car(13) & Car(10)) &
VraiFaux(EstNull([Société/Entreprise]);"";[Société/Entreprise] &
Car(13) & Car(10)) &
VraiFaux(EstNull([ContactPersonne]);"";[ContactPersonne] &
Car(13) & Car(10)) & [Adresse] & Car(13) & Car(10) & [Expr2]

ou laisse les lignes vides à leurs places

=Nz([Titre]);"") & Car(13) & Car(10)) &
VraiFaux(EstNull([Prénom]);[NomFamille];[Prénom] & " " &
[NomFamille])) & Car(13) & Car(10) &
VraiFaux(EstNull([Société/Entreprise]);"";[Société/Entreprise]) &
Car(13) & Car(10) &
VraiFaux(EstNull([ContactPersonne]);"";[ContactPersonne]) &
Car(13) & Car(10) & [Adresse] & Car(13) & Car(10) & [Expr2]


"alyl" a écrit dans le message de news:
Bonjour

J'ai une zone de texte ayant pour valeur

=VraiFaux(EstNull([Titre]);"";[Titre] & Car(13) & Car(10)) &
VraiFaux(EstNull([Prénom]);[NomFamille] & Car(13) & Car(10);[Prénom] &
" " & [NomFamille] & Car(13) & Car(10)) & VraiFaux(EstNull([Société/
Entreprise]);"";[Société/Entreprise] & Car(13) & Car(10)) &
VraiFaux(EstNull([ContactPersonne]);"";[ContactPersonne] & Car(13) &
Car(10)) & [Adresse] & Car(13) & Car(10) & [Expr2]


Est-il possible de le positionner, par VBA, de telle façon que la
dernière partie de l'adresse vient toujours à 2 cm du bord de mon
état ?
Ce qui se passe en ce moment c'est que les valeurs nulles prises en
compte "déplacent" ma zone de texte.Certaines sont plus hautes si
aucune condition n'est nulle; si plusieures conditions sont nulles
j'ai alors une adresse très éloignée de bord, puisque access commence
par le haut
J'aimerais avoir toutes mes adresses alignées sur le bas de la feuille
et non sur le haut de ma zone de texte.
Quelqu'un a-t-il une idée ??
merci d'avance
ally
Avatar
alyl
On 18 août, 16:43, "Michel__D"
wrote:
Bonjour

merci de m'avoir répondu.

Malheureusement j'ai essayé les deux solutions et comme chez moi
j'obtiens un message d'erreur

la syntaxe n'est pas correcte (guillements)
ou faute de parenthèse

j'ai essayé de triturer votre texte et j'ai cherché des explications
sur Nz sur microsoft
Serait-ce possible que cela ne fonctionne qu'à partir de Access 2007
comme le disent les ex. sur le site de MIcrosoft?
Donc je précise : j'utilise Access 2002 sur windows XP 2
Cela devrait marcher ou ne peut pas marcher ???

Merci de votre patience
ally


Bonjour,

Si j'ai à peu prés suivi, essaye ceci

Place les lignes vides en haut

=Nz([Titre]);"") & Car(13) & Car(10)) &
 VraiFaux(EstNull([Société/Entreprise]);Car(13) & Car(10);"") &
 VraiFaux(EstNull([ContactPersonne]);Car(13) & Car(10);"") &
 VraiFaux(EstNull([Prénom]);[NomFamille];[Prénom] & " " &
 [NomFamille]) & Car(13) & Car(10)) &
 VraiFaux(EstNull([Société/Entreprise]);"";[Société/Entreprise] &
 Car(13) & Car(10)) &
 VraiFaux(EstNull([ContactPersonne]);"";[ContactPersonne] &
 Car(13) & Car(10)) & [Adresse] & Car(13) & Car(10) & [Expr2]

ou laisse les lignes vides à leurs places

=Nz([Titre]);"") & Car(13) & Car(10)) &
 VraiFaux(EstNull([Prénom]);[NomFamille];[Prénom] & " " &
 [NomFamille])) & Car(13) & Car(10) &
 VraiFaux(EstNull([Société/Entreprise]);"";[Société/Entreprise] ) &
 Car(13) & Car(10) &
 VraiFaux(EstNull([ContactPersonne]);"";[ContactPersonne]) &
 Car(13) & Car(10) & [Adresse] & Car(13) & Car(10) & [Expr2]






Avatar
alyl
On 20 août, 11:24, alyl wrote:



alyl Afficher le profil
Autres options 20 août, 11:24

Groupes de discussion : microsoft.public.fr.access
De : alyl
Date : Wed, 20 Aug 2008 02:24:49 -0700 (PDT)
Local : Mer 20 août 2008 11:24
Objet : Re: situer un texte dans un état


Bonjour

merci de m'avoir répondu.


Malheureusement j'ai essayé les deux solutions et comme chez moi
j'obtiens un message d'erreur


la syntaxe n'est pas correcte (guillements)
ou faute de parenthèse


j'ai essayé de triturer votre texte et j'ai cherché des explications
sur Nz sur microsoft
Serait-ce possible que cela ne fonctionne qu'à partir de Access 2007
comme le disent les ex. sur le site de MIcrosoft?
Donc je précise : j'utilise Access 2002 sur windows XP 2
Cela devrait marcher ou ne peut pas marcher ???


Merci de votre patience
ally


> Bonjour,

> Si j'ai à peu prés suivi, essaye ceci

> Place les lignes vides en haut

> =Nz([Titre]);"") & Car(13) & Car(10)) &
>  VraiFaux(EstNull([Société/Entreprise]);Car(13) & Car(10);"") &
>  VraiFaux(EstNull([ContactPersonne]);Car(13) & Car(10);"") &
>  VraiFaux(EstNull([Prénom]);[NomFamille];[Prénom] & " " &
>  [NomFamille]) & Car(13) & Car(10)) &
>  VraiFaux(EstNull([Société/Entreprise]);"";[Société/Entrepris e] &
>  Car(13) & Car(10)) &
>  VraiFaux(EstNull([ContactPersonne]);"";[ContactPersonne] &
>  Car(13) & Car(10)) & [Adresse] & Car(13) & Car(10) & [Expr2]

> ou laisse les lignes vides à leurs places

> =Nz([Titre]);"") & Car(13) & Car(10)) &
>  VraiFaux(EstNull([Prénom]);[NomFamille];[Prénom] & " " &
>  [NomFamille])) & Car(13) & Car(10) &
>  VraiFaux(EstNull([Société/Entreprise]);"";[Société/Entrepris e]) &
>  Car(13) & Car(10) &
>  VraiFaux(EstNull([ContactPersonne]);"";[ContactPersonne]) &
>  Car(13) & Car(10) & [Adresse] & Car(13) & Car(10) & [Expr2]- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Gloops
Bonjour,

Effectivement, c'est comme ça que c'est prévu.
J'avais compris que le texte devait apparaître dans le coin de la page
en bas à droite, c'est pour ça que j'avais parlé du pied de page, m ais
donc apparemment le texte doit plutôt apparaître en bas à droite de la
zone qui lui est réservée. A priori, ça demande plus de boulot.

Pour aligner à droite, je dis peut-être une bêtise, il me semble qu e ça
doit être assez simple.
Pour aligner en bas, je crains qu'on ne coupe pas à commencer par
évaluer le nombre maximal de lignes nécessaires pour la zone, pour
chaque enregistrement le nombre de lignes manquantes, et ajouter autant
de vbCrLf que nécessaire devant le contenu (si je ne m'abuse c'est ce
qu'a fait Michel, dans le principe, je n'ai pas regardé le détail).

Ecrire une fonction pour ce faire devrait être une façon rationnelle de
s'y prendre si le même traitement doit être appliqué à plusieurs contrôles.

___________________________________
alyl a écrit, le 18/08/2008 11:35 :
Bonjour


J'ai essayé tout ce qu'on peut faire sans VBA (Pied de page, marges,
déplacement manuel etc)
je n'arrive pas bien ( ou pour être honnête pas du tout )
à faire une proprieté autoextensible ou autoréductible qui marche et
qui se déplace automatiquement vers le bas si des champs sont vides.
Toutes les marges se recalculent automatiquement en partant de la
gauche et du haut
et non pas comme j'en ai besoin càd que la zone texte se resitue en
partant de la droite et du bas
Est- ce qu'on peut atteindre cela avec du VBA ?
les proprietés autoextensible et autoreductiblede la zone texte me
paraissent en fait indépendant de l'endroit
où est la zone de texte...... ou bien ai-je raté quelque chose ?
ma fonction marche en soit quant au contenu ce qui ne marche pas c'est
l'endroit ou elle s'inscrit.

Merci de votre aide


Avatar
Gloops
alyl a écrit, le 20/08/2008 11:24 :
On 18 août, 16:43, "Michel__D"
wrote:
Bonjour

merci de m'avoir répondu.

Malheureusement j'ai essayé les deux solutions et comme chez moi
j'obtiens un message d'erreur

la syntaxe n'est pas correcte (guillements)
ou faute de parenthèse




Ah, ça, quelle que soit la version, ça marche toujours mieux en
respectant la syntaxe et la correspondance des guillemets et parenthèse s :)

Bon, colle voir ici ce que tu as tapé, qu'on regarde ...
Avatar
Gloops
Michel__D a écrit, le 18/08/2008 16:43 :
Bonjour,

Si j'ai à peu prés suivi, essaye ceci

Place les lignes vides en haut

=Nz([Titre]);"") & Car(13) & Car(10)) &




Au fait, avant de chercher autre chose, ne manque-t-il pas quelque chose
au début ?

Avant même de parler de car(13) on a ouvert une parenthèse pour Nz, e t
on en a fermé deux.
Si Nz prend deux paramètres, ça serait peut-être bien la première qui
serait en trop, non ? Si il n'en prend qu'un il faut enlever le deuxièm e.

La suite paraît correcte, trois paramètres pour VraiFaux, un pour Car ,
un pour EstNull.

VraiFaux(EstNull([ContactPersonne]);"";[ContactPersonne] &
Car(13) & Car(10)) & [Adresse] & Car(13) & Car(10) & [Expr2]



Là il m'a fallu mettre en œuvre des outils pour retrouver la parenthè se
fermante ;)
Tant qu'à écrire la requête sur plusieurs lignes ...


J'ai un petit doute pour la deuxième partie : pour laisser les lignes
vides à leurs places tu as fait quelque chose de joli, mais ne suffit-i l
pas de ne pas mettre "autoréduit" ? Il est vrai que ça serait l'hôp ital
qui se moque de la charité, car j'ai souvent tendance à écrire des
fonctions pour des choses dont j'apprends après qu'elles existent toute s
prêtes.

On ne prend pas garde à cette expression, mais à quand remonte la
dernière fois que vous avez vu un hôpital faire de la charité ?
Avatar
Michel__D
Bonjour,

Correction pour le début (pour les 2 solutions) :
=Nz([Titre];"") & Car(13) & Car(10) & ...

PS:Au moins comme cela il y a un retour !

"alyl" a écrit dans le message de news:
On 18 août, 16:43, "Michel__D"
wrote:
Bonjour

merci de m'avoir répondu.

Malheureusement j'ai essayé les deux solutions et comme chez moi
j'obtiens un message d'erreur

la syntaxe n'est pas correcte (guillements)
ou faute de parenthèse

j'ai essayé de triturer votre texte et j'ai cherché des explications
sur Nz sur microsoft
Serait-ce possible que cela ne fonctionne qu'à partir de Access 2007
comme le disent les ex. sur le site de MIcrosoft?
Donc je précise : j'utilise Access 2002 sur windows XP 2
Cela devrait marcher ou ne peut pas marcher ???

Merci de votre patience
ally


Bonjour,

Si j'ai à peu prés suivi, essaye ceci

Place les lignes vides en haut

=Nz([Titre]);"") & Car(13) & Car(10)) &
VraiFaux(EstNull([Société/Entreprise]);Car(13) & Car(10);"") &
VraiFaux(EstNull([ContactPersonne]);Car(13) & Car(10);"") &
VraiFaux(EstNull([Prénom]);[NomFamille];[Prénom] & " " &
[NomFamille]) & Car(13) & Car(10)) &
VraiFaux(EstNull([Société/Entreprise]);"";[Société/Entreprise] &
Car(13) & Car(10)) &
VraiFaux(EstNull([ContactPersonne]);"";[ContactPersonne] &
Car(13) & Car(10)) & [Adresse] & Car(13) & Car(10) & [Expr2]

ou laisse les lignes vides à leurs places

=Nz([Titre]);"") & Car(13) & Car(10)) &
VraiFaux(EstNull([Prénom]);[NomFamille];[Prénom] & " " &
[NomFamille])) & Car(13) & Car(10) &
VraiFaux(EstNull([Société/Entreprise]);"";[Société/Entreprise]) &
Car(13) & Car(10) &
VraiFaux(EstNull([ContactPersonne]);"";[ContactPersonne]) &
Car(13) & Car(10) & [Adresse] & Car(13) & Car(10) & [Expr2]






Avatar
Gloops
Michel__D a écrit, le 21/08/2008 09:22 :
PS:Au moins comme cela il y a un retour !



;)