Ajustement hauteur groupe via VBA

Résolu
grymloq Messages postés 13 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 8 février 2008 - 16 juil. 2007 à 14:17
grymloq Messages postés 13 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 8 février 2008 - 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.

11 réponses

grymloq Messages postés 13 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 8 février 2008
24 juil. 2007 à 09:18
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.
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 juil. 2007 à 14:20
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 /
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
16 juil. 2007 à 14:27
La méthode Move est faite pour celà.
Ouvrir Move dans ton aide en ligne.
0
grymloq Messages postés 13 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 8 février 2008
16 juil. 2007 à 14:54
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
16 juil. 2007 à 15:11
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 !!!
0
grymloq Messages postés 13 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 8 février 2008
16 juil. 2007 à 15:28
Merci, j'arrive à modifier la hauteur des cellules mais ca ne fonctionne toujours que pour la première ligne
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
16 juil. 2007 à 15:32
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 ?) ?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
16 juil. 2007 à 15:34
Oui....
Tu parles finalement de cellules...
Oublie alors tout ce que j'ai dit et attends que passe par là un VBAiste.
0
grymloq Messages postés 13 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 8 février 2008
16 juil. 2007 à 15:39
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.
0
grymloq Messages postés 13 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 8 février 2008
16 juil. 2007 à 15:52
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.
0
grymloq Messages postés 13 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 8 février 2008
17 juil. 2007 à 10:41
Pour commencer est ce qu'il faut bien agir au niveau du format ?

Private Sub EntêteGroupe2_Format(Cancel As Integer, FormatCount As Integer)
0
Rejoignez-nous