Ce code me permet de tracer des traits =E0 gauche de chaque zone de
texte de la section d=E9tail :
Code :
For Each MonControl In D=E9tail.Controls
X1 =3D [MonControl].Left
Me.Line (X1, 0)-(X1, D=E9tail.Height)
La partie suivante me permet de tracer un trait plus grand pour toutes
les zones de texte de la ligne au cas ou une zone de texte serait plus
grand que le d=E9tail (mes zones de texte et le d=E9tail sont
autoextensibles)
Code :
If ZoneDeTexte1.Height > D=E9tail.Height Then
Me.Line (X1, 0)-(X1, ZoneDeTexte1.Height)
End If
If ZoneDeTexte2.Height > ZoneDeTexte1.Height Then
Me.Line (X1, 0)-(X1, ZoneDeTexte2.Height)
End If
If ZoneDeTexte3.Height > ZoneDeTexte2.Height Then
Me.Line (X1, 0)-(X1, ZoneDeTexte3.Height)
End If
'etc avec toutes les autres zones de texte
Next
Ce que je voudrais, c'est pouvoir mettre ce code dans tous mes =E9tats
et donc faire une boucle sur toutes mes zones de textes pour trouver la
plus grande...
Quand je prends MonControl.height, il me donne la hauteur du contr=F4le
mais pas sa valeur quand celui-ci est plus grand que pr=E9vu
(autoextensible)
J'esp=E8re avoir =E9t=E9 clair.
Quelqu'un saurait comment s'y prendre?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Argyronet
Bonjour,
Jette un oeil sur ce tutoriel: http://cafeine.developpez.com/access/tutoriel/autoextensible/
Il traite du problème pour les Formulaires, tu dois pouvoir l'adapter à ton cas pour les états... !!! => Niveau Avancé / Expert requis... -- Argy http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour,
Ce code me permet de tracer des traits à gauche de chaque zone de texte de la section détail :
Code :
For Each MonControl In Détail.Controls X1 = [MonControl].Left Me.Line (X1, 0)-(X1, Détail.Height)
La partie suivante me permet de tracer un trait plus grand pour toutes les zones de texte de la ligne au cas ou une zone de texte serait plus grand que le détail (mes zones de texte et le détail sont autoextensibles)
Code :
If ZoneDeTexte1.Height > Détail.Height Then Me.Line (X1, 0)-(X1, ZoneDeTexte1.Height) End If If ZoneDeTexte2.Height > ZoneDeTexte1.Height Then Me.Line (X1, 0)-(X1, ZoneDeTexte2.Height) End If If ZoneDeTexte3.Height > ZoneDeTexte2.Height Then Me.Line (X1, 0)-(X1, ZoneDeTexte3.Height) End If 'etc avec toutes les autres zones de texte Next
Ce que je voudrais, c'est pouvoir mettre ce code dans tous mes états et donc faire une boucle sur toutes mes zones de textes pour trouver la plus grande... Quand je prends MonControl.height, il me donne la hauteur du contrôle mais pas sa valeur quand celui-ci est plus grand que prévu (autoextensible) J'espère avoir été clair. Quelqu'un saurait comment s'y prendre?
Merci de votre aide.
Bonjour,
Jette un oeil sur ce tutoriel:
http://cafeine.developpez.com/access/tutoriel/autoextensible/
Il traite du problème pour les Formulaires, tu dois pouvoir l'adapter à ton
cas pour les états...
!!! => Niveau Avancé / Expert requis...
--
Argy
http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour,
Ce code me permet de tracer des traits à gauche de chaque zone de
texte de la section détail :
Code :
For Each MonControl In Détail.Controls
X1 = [MonControl].Left
Me.Line (X1, 0)-(X1, Détail.Height)
La partie suivante me permet de tracer un trait plus grand pour toutes
les zones de texte de la ligne au cas ou une zone de texte serait plus
grand que le détail (mes zones de texte et le détail sont
autoextensibles)
Code :
If ZoneDeTexte1.Height > Détail.Height Then
Me.Line (X1, 0)-(X1, ZoneDeTexte1.Height)
End If
If ZoneDeTexte2.Height > ZoneDeTexte1.Height Then
Me.Line (X1, 0)-(X1, ZoneDeTexte2.Height)
End If
If ZoneDeTexte3.Height > ZoneDeTexte2.Height Then
Me.Line (X1, 0)-(X1, ZoneDeTexte3.Height)
End If
'etc avec toutes les autres zones de texte
Next
Ce que je voudrais, c'est pouvoir mettre ce code dans tous mes états
et donc faire une boucle sur toutes mes zones de textes pour trouver la
plus grande...
Quand je prends MonControl.height, il me donne la hauteur du contrôle
mais pas sa valeur quand celui-ci est plus grand que prévu
(autoextensible)
J'espère avoir été clair.
Quelqu'un saurait comment s'y prendre?
Jette un oeil sur ce tutoriel: http://cafeine.developpez.com/access/tutoriel/autoextensible/
Il traite du problème pour les Formulaires, tu dois pouvoir l'adapter à ton cas pour les états... !!! => Niveau Avancé / Expert requis... -- Argy http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Bonjour,
Ce code me permet de tracer des traits à gauche de chaque zone de texte de la section détail :
Code :
For Each MonControl In Détail.Controls X1 = [MonControl].Left Me.Line (X1, 0)-(X1, Détail.Height)
La partie suivante me permet de tracer un trait plus grand pour toutes les zones de texte de la ligne au cas ou une zone de texte serait plus grand que le détail (mes zones de texte et le détail sont autoextensibles)
Code :
If ZoneDeTexte1.Height > Détail.Height Then Me.Line (X1, 0)-(X1, ZoneDeTexte1.Height) End If If ZoneDeTexte2.Height > ZoneDeTexte1.Height Then Me.Line (X1, 0)-(X1, ZoneDeTexte2.Height) End If If ZoneDeTexte3.Height > ZoneDeTexte2.Height Then Me.Line (X1, 0)-(X1, ZoneDeTexte3.Height) End If 'etc avec toutes les autres zones de texte Next
Ce que je voudrais, c'est pouvoir mettre ce code dans tous mes états et donc faire une boucle sur toutes mes zones de textes pour trouver la plus grande... Quand je prends MonControl.height, il me donne la hauteur du contrôle mais pas sa valeur quand celui-ci est plus grand que prévu (autoextensible) J'espère avoir été clair. Quelqu'un saurait comment s'y prendre?
Merci de votre aide.
Loutsky
Merci de ton aide Argyronet,
J'ai regardé le tutoriel..., c'est vrai que c'est du haut niveau mais je suis pas sûr de devoir m'en servir
Le code que j'ai fait plus haut fonctionne très bien. J'arrive à bien à avoir la taille de ma zone de texte lorsque celle-ci "s'autoextend". Ex : Si ZoneDeTexte1 s'autoextend, il me renvoie bien la valeur étendu et ainsi toute ma ligne aura des traits verticaux de cette longueur. Mais il n'y a pas moyen de faire une boucle sur toutes mes zones de texte pour voir quel est la plus grande zone de texte? Sinon, d'après ce qui expliqué dans le tuto, il faudrais ouvrir un autre état identique au mien en mode conception pour pouvoir me servir de ma variable MonControl?
Merci de ton aide Argyronet,
J'ai regardé le tutoriel..., c'est vrai que c'est du haut niveau mais
je suis pas sûr de devoir m'en servir
Le code que j'ai fait plus haut fonctionne très bien. J'arrive à bien
à avoir la taille de ma zone de texte lorsque celle-ci "s'autoextend".
Ex : Si ZoneDeTexte1 s'autoextend, il me renvoie bien la valeur étendu
et ainsi toute ma ligne aura des traits verticaux de cette longueur.
Mais il n'y a pas moyen de faire une boucle sur toutes mes zones de
texte pour voir quel est la plus grande zone de texte?
Sinon, d'après ce qui expliqué dans le tuto, il faudrais ouvrir un
autre état identique au mien en mode conception pour pouvoir me servir
de ma variable MonControl?
J'ai regardé le tutoriel..., c'est vrai que c'est du haut niveau mais je suis pas sûr de devoir m'en servir
Le code que j'ai fait plus haut fonctionne très bien. J'arrive à bien à avoir la taille de ma zone de texte lorsque celle-ci "s'autoextend". Ex : Si ZoneDeTexte1 s'autoextend, il me renvoie bien la valeur étendu et ainsi toute ma ligne aura des traits verticaux de cette longueur. Mais il n'y a pas moyen de faire une boucle sur toutes mes zones de texte pour voir quel est la plus grande zone de texte? Sinon, d'après ce qui expliqué dans le tuto, il faudrais ouvrir un autre état identique au mien en mode conception pour pouvoir me servir de ma variable MonControl?
Argyronet
Humm non parce que dans ce Tuto est expliqué que la hauteur du texte est calculée en fonction de sa longueur totale sur un ratio de la taille initiale du TextBox... C'est justement son but essentiel... Donc pour ton cas, il faudrait parcourir la collection Texteboxes de ton état et stocker par exemple dans un tableau à deux dimenssions leur taille de texte et leur nom... Puis dans un second temps, parcourir le tableau et sortir l'élément qui a la valeur la plus grande. De là, il sera possible de procéder à ce que tu veux pour la dite zone de texte; -- Argy http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Merci de ton aide Argyronet,
J'ai regardé le tutoriel..., c'est vrai que c'est du haut niveau mais je suis pas sûr de devoir m'en servir
Le code que j'ai fait plus haut fonctionne très bien. J'arrive à bien à avoir la taille de ma zone de texte lorsque celle-ci "s'autoextend". Ex : Si ZoneDeTexte1 s'autoextend, il me renvoie bien la valeur étendu et ainsi toute ma ligne aura des traits verticaux de cette longueur. Mais il n'y a pas moyen de faire une boucle sur toutes mes zones de texte pour voir quel est la plus grande zone de texte? Sinon, d'après ce qui expliqué dans le tuto, il faudrais ouvrir un autre état identique au mien en mode conception pour pouvoir me servir de ma variable MonControl?
Humm non parce que dans ce Tuto est expliqué que la hauteur du texte est
calculée en fonction de sa longueur totale sur un ratio de la taille initiale
du TextBox... C'est justement son but essentiel...
Donc pour ton cas, il faudrait parcourir la collection Texteboxes de ton
état et stocker par exemple dans un tableau à deux dimenssions leur taille de
texte et leur nom... Puis dans un second temps, parcourir le tableau et
sortir l'élément qui a la valeur la plus grande.
De là, il sera possible de procéder à ce que tu veux pour la dite zone de
texte;
--
Argy
http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment
Merci de ton aide Argyronet,
J'ai regardé le tutoriel..., c'est vrai que c'est du haut niveau mais
je suis pas sûr de devoir m'en servir
Le code que j'ai fait plus haut fonctionne très bien. J'arrive à bien
à avoir la taille de ma zone de texte lorsque celle-ci "s'autoextend".
Ex : Si ZoneDeTexte1 s'autoextend, il me renvoie bien la valeur étendu
et ainsi toute ma ligne aura des traits verticaux de cette longueur.
Mais il n'y a pas moyen de faire une boucle sur toutes mes zones de
texte pour voir quel est la plus grande zone de texte?
Sinon, d'après ce qui expliqué dans le tuto, il faudrais ouvrir un
autre état identique au mien en mode conception pour pouvoir me servir
de ma variable MonControl?
Humm non parce que dans ce Tuto est expliqué que la hauteur du texte est calculée en fonction de sa longueur totale sur un ratio de la taille initiale du TextBox... C'est justement son but essentiel... Donc pour ton cas, il faudrait parcourir la collection Texteboxes de ton état et stocker par exemple dans un tableau à deux dimenssions leur taille de texte et leur nom... Puis dans un second temps, parcourir le tableau et sortir l'élément qui a la valeur la plus grande. De là, il sera possible de procéder à ce que tu veux pour la dite zone de texte; -- Argy http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Merci de ton aide Argyronet,
J'ai regardé le tutoriel..., c'est vrai que c'est du haut niveau mais je suis pas sûr de devoir m'en servir
Le code que j'ai fait plus haut fonctionne très bien. J'arrive à bien à avoir la taille de ma zone de texte lorsque celle-ci "s'autoextend". Ex : Si ZoneDeTexte1 s'autoextend, il me renvoie bien la valeur étendu et ainsi toute ma ligne aura des traits verticaux de cette longueur. Mais il n'y a pas moyen de faire une boucle sur toutes mes zones de texte pour voir quel est la plus grande zone de texte? Sinon, d'après ce qui expliqué dans le tuto, il faudrais ouvrir un autre état identique au mien en mode conception pour pouvoir me servir de ma variable MonControl?
Loutsky
Merci de ton aide Argronet, J'ai trouvé la solution :
For Each C In Détail.Controls X1 = [C].Left Me.Line (X1, 0)-(X1, Détail.Height) For Each C1 In Détail.Controls If C1.Height >= C.Height Then Me.Line (X1, 0)-(X1, C1.Height) End If Next C1 Next C
Merci de ton aide Argronet,
J'ai trouvé la solution :
For Each C In Détail.Controls
X1 = [C].Left
Me.Line (X1, 0)-(X1, Détail.Height)
For Each C1 In Détail.Controls
If C1.Height >= C.Height Then
Me.Line (X1, 0)-(X1, C1.Height)
End If
Next C1
Next C
Merci de ton aide Argronet, J'ai trouvé la solution :
For Each C In Détail.Controls X1 = [C].Left Me.Line (X1, 0)-(X1, Détail.Height) For Each C1 In Détail.Controls If C1.Height >= C.Height Then Me.Line (X1, 0)-(X1, C1.Height) End If Next C1 Next C
Argyronet
Super... Tu pourrais peut-être ajouter un truc dans ta boucle comme ça : For Each C1 In Détail.Controls If C1.ControlType = acTextBox Then If C1.Height >= C.Height Then Me.Line (X1, 0)-(X1, C1.Height) End If End If Next C1 sauf si, bien entendu, tu n'as que des TextBoxes...
-- Argy http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Merci de ton aide Argronet, J'ai trouvé la solution :
For Each C In Détail.Controls X1 = [C].Left Me.Line (X1, 0)-(X1, Détail.Height) For Each C1 In Détail.Controls If C1.Height >= C.Height Then Me.Line (X1, 0)-(X1, C1.Height) End If Next C1 Next C
Super...
Tu pourrais peut-être ajouter un truc dans ta boucle comme ça :
For Each C1 In Détail.Controls
If C1.ControlType = acTextBox Then
If C1.Height >= C.Height Then
Me.Line (X1, 0)-(X1, C1.Height)
End If
End If
Next C1
sauf si, bien entendu, tu n'as que des TextBoxes...
--
Argy
http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment
Merci de ton aide Argronet,
J'ai trouvé la solution :
For Each C In Détail.Controls
X1 = [C].Left
Me.Line (X1, 0)-(X1, Détail.Height)
For Each C1 In Détail.Controls
If C1.Height >= C.Height Then
Me.Line (X1, 0)-(X1, C1.Height)
End If
Next C1
Next C
Super... Tu pourrais peut-être ajouter un truc dans ta boucle comme ça : For Each C1 In Détail.Controls If C1.ControlType = acTextBox Then If C1.Height >= C.Height Then Me.Line (X1, 0)-(X1, C1.Height) End If End If Next C1 sauf si, bien entendu, tu n'as que des TextBoxes...
-- Argy http://argyronet.developpez.com/
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment
Merci de ton aide Argronet, J'ai trouvé la solution :
For Each C In Détail.Controls X1 = [C].Left Me.Line (X1, 0)-(X1, Détail.Height) For Each C1 In Détail.Controls If C1.Height >= C.Height Then Me.Line (X1, 0)-(X1, C1.Height) End If Next C1 Next C