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

Auto-extension d'un champs : appliquer la même hauteur à tous.

19 réponses
Avatar
Soya
Bonjour les pros,

Dans un état, j'ai un champs auto-extensible. Comment faire pour que,
lorsque ce champs "s'auto-extentionne", les autres champs sur la même ligne
fassent la même chose ? Histoire d'esthétique...

Merci et bon lundi !

Soya

9 réponses

1 2
Avatar
Soya
Bonjour MF,

Peux-tu m'envoyer ton exemple s'il te plaît ? Je suis davantage visuelle...
Je comprendrai mieux l'histoire du sous formulaire en l'ayant sous les yeux.

'rci !


Bonjour Soya et Raymond,

C'est vraiment triste de devoir garder un état moche avec des lignes pas
belles !...

J'ai ce problème aussi depuis un bon moment pour la mise en forme de devis
et factures notamment.
J'ai utilisé ta technique, Raymond, en plaçant des lignes verticales entre
les contrôles du sous-état. Ces lignes peuvent "grandir" en fonction de
l'extension, en utilisant une technique que j'ai trouvée dans
http://support.microsoft.com/default.aspx?scid=kb;fr;286247
Ca marche très bien.
Je peux vous envoyer l'exemple si vous voulez.

Mais j'ai encore un petit truc à améliorer (Saint Raymond, priez pour nous
!) :
Dans mon sous-état, j'ai par exemple les contrôles suivants :
Col 1 Col 2 Col 3 Col 4 Col 5
N° art. Désignation Quantité Prix unit. Prix total

Le contrôle "Désignation" doit être extensible, donc c'est lui le "chef".
Mais je voudrais, pour faire joli et compréhensible par le client que,
lorsqu'il s'étend sur plusieurs lignes, l'écriture des colonnes suivantes
s'aligne en bas, donc au niveau de la dernière ligne du contrôle
"Désignation".
(Dans un tableau Excel, c'est possible de formater les cellules comme cela)
Est-ce que je me fais bien comprendre ?

Qu'en pensez-vous? Quelqu'un a-t-il un tuyau ?

Merci pour vos lumières.

Maurice FAUX

"Soya" a écrit dans le message de news:

Bonjour Raymond,

Ha mince... Ça ne fait pas mon affaire. Je pensais qu'il existait
peut-être
quelque part une formule code de type "Abracadabra" qui dirait à tous ces
contrôles indisciplinés de se soumettre au contrôle chef quand il
s'agrandit...

Bon ben tant pis. Je vais garder mon état moche avec ses lignes pas
belles.

Merci tout de même ! :)


Bonjour.

Lorsqu'un contrôle s'agrandit, les contrôles situés en dessous se
déplacent
vers le bas dans la page, sans effet sur les autres.
La seule solution pour que tous les autres controles situés sur la même
ligne suivant l'agrandissement, c'est de tous les placer dans un
sous-état.
la section détail du sous-état prenant tout l'espace horizontal, c'est
une
bonne simulation d'extension sans en être une.
ce n'est pas parfait comme solution.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Le multimédia vu par Windows Vista, Office 2007 et Windows Live !!!
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Soya" a écrit dans le message de news:

| Bonjour les pros,
|
| Dans un état, j'ai un champs auto-extensible. Comment faire pour que,
| lorsque ce champs "s'auto-extentionne", les autres champs sur la même
ligne
| fassent la même chose ? Histoire d'esthétique...
|
| Merci et bon lundi !
|
| Soya












Avatar
Gloops
Salut,

Finalement, pas besoin d'usine à gaz, alors ?

Sauf que tu sembles avoir du mal à trouver le bon événement pour gé rer ça.

Alors certes il y aurait bien la solution de lancer l'état une fois pou r
calculer les hauteurs des contrôles et une deuxième fois pour les
positionner, enfin parti comme tu es sur la simplification, tu vas bien
trouver mieux ?
Avatar
Gloops
Gloops a écrit, le 04/06/2007 22:14 :
Salut,

Finalement, pas besoin d'usine à gaz, alors ?

Sauf que tu sembles avoir du mal à trouver le bon événement pour gérer ça.

Alors certes il y aurait bien la solution de lancer l'état une fois p our
calculer les hauteurs des contrôles et une deuxième fois pour les
positionner, enfin parti comme tu es sur la simplification, tu vas bien
trouver mieux ?


Argh, c'est bien le pavé tactile, mais quelquefois, si la main est trop

près, ça tire plus vite que son ombre.

Je ne me rappelle pas si un Refresh ou un Requery bien placés, dans un
état, peuvent repositionner les contrôles.

Avatar
MF
Soya,
j'ai essayé de t'envoyer l'exemple, mais ça ne marche pas, vu que je n'ai
pas ton adresse mail.
Peux-tu me la communiquer ?
MF

(Remplacer mf par mauricefaux)



"Soya" a écrit dans le message de news:

Bonjour MF,

Peux-tu m'envoyer ton exemple s'il te plaît ? Je suis davantage
visuelle...
Je comprendrai mieux l'histoire du sous formulaire en l'ayant sous les
yeux.

'rci !


Bonjour Soya et Raymond,

C'est vraiment triste de devoir garder un état moche avec des lignes pas
belles !...

J'ai ce problème aussi depuis un bon moment pour la mise en forme de
devis
et factures notamment.
J'ai utilisé ta technique, Raymond, en plaçant des lignes verticales
entre
les contrôles du sous-état. Ces lignes peuvent "grandir" en fonction de
l'extension, en utilisant une technique que j'ai trouvée dans
http://support.microsoft.com/default.aspx?scid=kb;fr;286247
Ca marche très bien.
Je peux vous envoyer l'exemple si vous voulez.

Mais j'ai encore un petit truc à améliorer (Saint Raymond, priez pour
nous
!) :
Dans mon sous-état, j'ai par exemple les contrôles suivants :
Col 1 Col 2 Col 3 Col 4 Col 5
N° art. Désignation Quantité Prix unit. Prix total

Le contrôle "Désignation" doit être extensible, donc c'est lui le "chef".
Mais je voudrais, pour faire joli et compréhensible par le client que,
lorsqu'il s'étend sur plusieurs lignes, l'écriture des colonnes suivantes
s'aligne en bas, donc au niveau de la dernière ligne du contrôle
"Désignation".
(Dans un tableau Excel, c'est possible de formater les cellules comme
cela)
Est-ce que je me fais bien comprendre ?

Qu'en pensez-vous? Quelqu'un a-t-il un tuyau ?

Merci pour vos lumières.

Maurice FAUX

"Soya" a écrit dans le message de news:

Bonjour Raymond,

Ha mince... Ça ne fait pas mon affaire. Je pensais qu'il existait
peut-être
quelque part une formule code de type "Abracadabra" qui dirait à tous
ces
contrôles indisciplinés de se soumettre au contrôle chef quand il
s'agrandit...

Bon ben tant pis. Je vais garder mon état moche avec ses lignes pas
belles.

Merci tout de même ! :)


Bonjour.

Lorsqu'un contrôle s'agrandit, les contrôles situés en dessous se
déplacent
vers le bas dans la page, sans effet sur les autres.
La seule solution pour que tous les autres controles situés sur la
même
ligne suivant l'agrandissement, c'est de tous les placer dans un
sous-état.
la section détail du sous-état prenant tout l'espace horizontal, c'est
une
bonne simulation d'extension sans en être une.
ce n'est pas parfait comme solution.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Le multimédia vu par Windows Vista, Office 2007 et Windows Live !!!
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Soya" a écrit dans le message de
news:

| Bonjour les pros,
|
| Dans un état, j'ai un champs auto-extensible. Comment faire pour
que,
| lorsque ce champs "s'auto-extentionne", les autres champs sur la
même
ligne
| fassent la même chose ? Histoire d'esthétique...
|
| Merci et bon lundi !
|
| Soya














Avatar
Fabien
Bonjour MF,

Peux-tu m'envoyer ton exemple s'il te plaît ? Je suis davantage visuelle...
Je comprendrai mieux l'histoire du sous formulaire en l'ayant sous les yeux.

'rci !


Bonjour Soya et Raymond,

C'est vraiment triste de devoir garder un état moche avec des lignes pas
belles !...

J'ai ce problème aussi depuis un bon moment pour la mise en forme de devis
et factures notamment.
J'ai utilisé ta technique, Raymond, en plaçant des lignes verticales entre
les contrôles du sous-état. Ces lignes peuvent "grandir" en fonction de
l'extension, en utilisant une technique que j'ai trouvée dans
http://support.microsoft.com/default.aspx?scid=kb;fr;286247
Ca marche très bien.
Je peux vous envoyer l'exemple si vous voulez.

Mais j'ai encore un petit truc à améliorer (Saint Raymond, priez pour nous
!) :
Dans mon sous-état, j'ai par exemple les contrôles suivants :
Col 1 Col 2 Col 3 Col 4 Col 5
N° art. Désignation Quantité Prix unit. Prix total

Le contrôle "Désignation" doit être extensible, donc c'est lui le "chef".
Mais je voudrais, pour faire joli et compréhensible par le client que,
lorsqu'il s'étend sur plusieurs lignes, l'écriture des colonnes suivantes
s'aligne en bas, donc au niveau de la dernière ligne du contrôle
"Désignation".
(Dans un tableau Excel, c'est possible de formater les cellules comme cela)
Est-ce que je me fais bien comprendre ?

Qu'en pensez-vous? Quelqu'un a-t-il un tuyau ?

Merci pour vos lumières.

Maurice FAUX

"Soya" a écrit dans le message de news:

Bonjour Raymond,

Ha mince... Ça ne fait pas mon affaire. Je pensais qu'il existait
peut-être
quelque part une formule code de type "Abracadabra" qui dirait à tous ces
contrôles indisciplinés de se soumettre au contrôle chef quand il
s'agrandit...

Bon ben tant pis. Je vais garder mon état moche avec ses lignes pas
belles.

Merci tout de même ! :)


Bonjour.

Lorsqu'un contrôle s'agrandit, les contrôles situés en dessous se
déplacent
vers le bas dans la page, sans effet sur les autres.
La seule solution pour que tous les autres controles situés sur la même
ligne suivant l'agrandissement, c'est de tous les placer dans un
sous-état.
la section détail du sous-état prenant tout l'espace horizontal, c'est
une
bonne simulation d'extension sans en être une.
ce n'est pas parfait comme solution.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Le multimédia vu par Windows Vista, Office 2007 et Windows Live !!!
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Soya" a écrit dans le message de news:

| Bonjour les pros,
|
| Dans un état, j'ai un champs auto-extensible. Comment faire pour que,
| lorsque ce champs "s'auto-extentionne", les autres champs sur la même
ligne
| fassent la même chose ? Histoire d'esthétique...
|
| Merci et bon lundi !
|
| Soya







Bonjour,


Une autre piste sur ce site
http://www.lebans.com/toc.htm




Avatar
MF
Bonjour Fabien,

"Fabien" a écrit dans le message de news:
46651033$0$27397$

Bonjour,
Une autre piste sur ce site
http://www.lebans.com/toc.htm


Effectivement, il y a là matière à creuser, mais,pour une usine à gaz, c'est
une usine à gaz ...;-)

MF

Avatar
google
Salut,

Je suis confronté au même problème et je pense avoir trouvé une
solution facile à mettre en oeuvre.

Je crée en fait une fonction sur l'événement onFormat (et pas onPrint
car ça marche pas) de la liste de détail et j'effectue un changement
de hauteur conditionnel avec un ELSE (sinon la modif est permanente) :


Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)

If Len(Me.Controls("libelle").value) > 100 Then
Me.Controls("libelle").Height = 1000
Me.Controls("quantite").Height = 1000
Else
Me.Controls("libelle").Height = 200
Me.Controls("quantite").Height = 200
End If

End Sub


Avec cela, j'obtiens tous les champs de la ligne avec la même hauteur
si le contenu de "libelle" a plus de 100 caractères. Après on peut
moduler et ajuster ces valeurs évidemment.

A+
--
Hector
Avatar
google
Resalut

Je suis bien content car cette manip. a l'air de bien marcher chez
moi. J'apporte simplement quelques autres précisions car
manifestement, modifier la hauteur des contrôles modifie aussi de
façon permanente la hauteur de la ligne de détail associée. Du coup,
on peut avoir un blanc entre les lignes si une ligne de contrôle est
moins haute que la ligne de détail associée. Enfin bref, l'exemple si
dessous sera plus parlant :


Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)

If Len(Me.Controls("libelle").value) > 100 Then
setHeight (1000)
Else
setHeight (400)
End If

End Sub


Private Sub setHeight(h As Integer)

Me.Controls("quantite").Height = h
Me.Controls("libelle").Height = h
Me.Controls("tva").Height = h
Me.Controls("puht").Height = h
Me.Controls("total_ht").Height = h
Détail.Height = h ' << ajustement de la ligne de détail et
Pouf ! les blancs disparaissent...

End Sub


A+
--
Hector
Avatar
Gloops
a écrit, le 02/07/2007 14:02 :
Resalut

Je suis bien content car cette manip. a l'air de bien marcher chez
moi. J'apporte simplement quelques autres précisions car
manifestement, modifier la hauteur des contrôles modifie aussi de
façon permanente la hauteur de la ligne de détail associée. Du co up,
on peut avoir un blanc entre les lignes si une ligne de contrôle est
moins haute que la ligne de détail associée. Enfin bref, l'exemple si
dessous sera plus parlant :


Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)

If Len(Me.Controls("libelle").value) > 100 Then
setHeight (1000)
Else
setHeight (400)
End If

End Sub


Private Sub setHeight(h As Integer)

Me.Controls("quantite").Height = h
Me.Controls("libelle").Height = h
Me.Controls("tva").Height = h
Me.Controls("puht").Height = h
Me.Controls("total_ht").Height = h
Détail.Height = h ' << ajustement de la ligne de détail et
Pouf ! les blancs disparaissent...

End Sub


A+
--
Hector

Effectivement j'ai fait la même chose avec un formulaire où on voulai t

ajuster les listes, dans les sous-formulaires, à la taille du
formulaire, lors des redimensionnements. Toujours commencer, en
rapetissant, par les contrôles inclus.

Dans le cas où tout est inclus directement dans l'état ou le formulai re,
on gagne à commencer par s'assurer que les propriétés "auto-réduc tion"
et "auto-extension" ne feraient pas l'affaire, ce qui donnerait le même
résultat pour beaucoup moins de boulot. Bien entendu, pour la section,
ça ne marche pas si on oublie un des contrôles qui se trouvent dedans ,
ou si pour une raison ou pour une autre un des contrôles ne peut pas
"s'auto-réduire" -ou si dans certains cas les contrôles s'étagent e n
hauteur.

1 2