Ajustement hauteur groupe via VBA [Résolu]

grymloq 13 Messages postés mercredi 11 juillet 2007Date d'inscription 8 février 2008 Dernière intervention - 16 juil. 2007 à 14:17 - Dernière réponse : grymloq 13 Messages postés mercredi 11 juillet 2007Date d'inscription 8 février 2008 Dernière intervention
- 24 juil. 2007 à 09:18
Bonjour,

Je débute en VBA, je suis sous access 2003.

J'ai un groupe, dans un état, composé de 3 champs par lignes (qui se remplissent via une table) et j'aurais besoin d'ajuster la hauteur des 3 cellules (ce qui n'est pas toujours possible avec autoextensible) pour chaque nouvelle ligne.

J'ai tapé un programme qui prend la hauteur max en fonction de la longueur du texte de chaque cellule mais je n'arrive pas à l'appliquer à chaque nouvelle ligne. J'ai tenté un :

         For Each Control In Me.EntêteGroupe2.Controls

         (...)

         Next

Ca ne fonctionne qu'à la première ligne de l'état...

Merci de votre aide.
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
grymloq 13 Messages postés mercredi 11 juillet 2007Date d'inscription 8 février 2008 Dernière intervention - 24 juil. 2007 à 09:18
3
Merci
Finalement l'astuce que j'ai utilisée consiste à mettre toutes mes cellules autoextensibles, avec des bordures transparentes, puis à redessiner des lignes par dessus en sélectionnant les plus grandes dimensions.

Je vous renvoi vers ce lien.

Merci grymloq 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de grymloq
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 16 juil. 2007 à 14:20
0
Merci
en VBA sous access 2003

pourquoi, en ce cas poster sous VB 2005 (et non VBA) ?

Vous êtes ici :
Thèmes / VB.NET et VB 2005 /
Commenter la réponse de Renfield
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 16 juil. 2007 à 14:27
0
Merci
La méthode Move est faite pour celà.
Ouvrir Move dans ton aide en ligne.
Commenter la réponse de jmfmarques
grymloq 13 Messages postés mercredi 11 juillet 2007Date d'inscription 8 février 2008 Dernière intervention - 16 juil. 2007 à 14:54
0
Merci
Desolé Renfield, je me suis trompé de forum. C'est possible de déplacer mon post ?

Merci pour ta reponse jmfmarques. J'ai donc retiré les deux lignes de mon premier post et rajouté :

        mesure.Move _
            Left:=0.3 * 567, Top:=0, Width:=2.75 * 567, Height:=compt * 0.476 * 567
        moyen.Move _
            Left:=3.05 * 567, Top:=0, Width:=1.8 * 567, Height:=compt * 0.476 * 567
        frequence.Move _
            Left:=4.85 * 567, Top:=0, Width:=1.9 * 567, Height:=compt * 0.476 * 567

compt correspond à un entier ; mesure, moyen et frequence sont les trois zones qui doivent apparaitre sur chaque ligne.

J'ai une erreur d'execution 2100 : Contrôle ou sous-formulaire trop grand
Lorsque je regarde sous VBA, ca bug au niveau de mesure.Move
Commenter la réponse de grymloq
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 16 juil. 2007 à 15:11
0
Merci
Drôle de manière d'utiliser la méthode move !!!
Après tout : je ne sais pas si elle existe sous VBA...

Si elle existe, sa syntaxe est
object.move gauche, haut, largeur hauteur

Si elle n'existe pas, tu peux la remplacer par :

With objetc
  . left = ...
  .top = ...
  .width = ...
  .height = ..
End Width

Un petit rappel : sous VBA, le scalemode est forcé en points...(pas en pixels, ni en twips). et "2.75 * 567" points, ma foi, ça fait beaucoup !!!
Commenter la réponse de jmfmarques
grymloq 13 Messages postés mercredi 11 juillet 2007Date d'inscription 8 février 2008 Dernière intervention - 16 juil. 2007 à 15:28
0
Merci
Merci, j'arrive à modifier la hauteur des cellules mais ca ne fonctionne toujours que pour la première ligne
Commenter la réponse de grymloq
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 16 juil. 2007 à 15:32
0
Merci
J'ai des difficultés à comprendre ce que tu appelles "une ligne"...
Parlons-nous de la même chose (contrôles dans un UserForm) ?
ou
s'agit-il d'autre chose (et quoi ?) ?
Commenter la réponse de jmfmarques
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 16 juil. 2007 à 15:34
0
Merci
Oui....
Tu parles finalement de cellules...
Oublie alors tout ce que j'ai dit et attends que passe par là un VBAiste.
Commenter la réponse de jmfmarques
grymloq 13 Messages postés mercredi 11 juillet 2007Date d'inscription 8 février 2008 Dernière intervention - 16 juil. 2007 à 15:39
0
Merci
Desolé si je suis un peu négligeant sur le vocabulaire.

En fait ce sont des zones de texte dont la source contrôle est une requête.
Elles se répètent dans un groupe pour former plusieurs lignes.
Commenter la réponse de grymloq
grymloq 13 Messages postés mercredi 11 juillet 2007Date d'inscription 8 février 2008 Dernière intervention - 16 juil. 2007 à 15:52
0
Merci
ce que j'entend par ligne corresponderait à :

mesure(1)  moyen (1)  frequence (1)         => une ligne
mesure(2)  moyen (2)  frequence (2)         => une deuxième ligne
etc.
Commenter la réponse de grymloq
grymloq 13 Messages postés mercredi 11 juillet 2007Date d'inscription 8 février 2008 Dernière intervention - 17 juil. 2007 à 10:41
0
Merci
Pour commencer est ce qu'il faut bien agir au niveau du format ?

Private Sub EntêteGroupe2_Format(Cancel As Integer, FormatCount As Integer)
Commenter la réponse de grymloq

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.