IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Adapter la taille d'un cadre sous-formulaire en fonction du sous-formulaire [AC-2010]


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 138
    Points : 67
    Points
    67
    Par défaut Adapter la taille d'un cadre sous-formulaire en fonction du sous-formulaire
    Bonsoir,

    Je souhaite adapter la hauteur du cadre contenant un sous-formulaire en fonction de la taille du sous-formulaire.

    Si j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms(FormPrincipalNomSTR).Form(CadreDetailNomSTR).Height
    j'obtiens la hauteur du cadre.

    Si j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms(FormPrincipalNomSTR).Form(CadreDetailNomSTR).Controls(Forms(FormPrincipalNomSTR).Form(CadreDetailNomSTR).SourceObject).Height
    j'obtiens le message d'erreur comme quoi il ne trouve pas le champs.

    En fait, comment obtenir la hauteur du sous-formulaire qui est dans le cadre SVP ?

    Cordialement.

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Pour le conteneur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ConteneurFormulaire1.Height
    Pour le formulaire contenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Me.ConteneurFormulaire1.Form.Section(0).Height _                           
                      + Me.ConteneurFormulaire1.Form.Section(1).Height _
                      + Me.ConteneurFormulaire1.Form.Section(2).Height
    section : 0 = détail ; 1 = entête ; 2 = Pied


    Vois ici, il y a peut-être des choses qui t'intéressent

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 138
    Points : 67
    Points
    67
    Par défaut
    Bonjour ClaudeLELOUP,

    Merci beaucoup, cela m'a aidé. Tout au moins quand j'ai compris pourquoi il y avait un message d'erreur. En fait, si on parle de l'en-tête alors il faut que le sous-formulaire en ai une sinon il ne trouve pas la section.

    Il faut donc que je trouve comment vérifier que la section en-tête existe pour adapter la formule.

    Si acHeader existe alors taille = Forms(FormPrincipalNomSTR)(CadreDetailNomSTR).Form.Section(acHeader).Height

    Si acDetail existe alors taille = Taille + Forms(FormPrincipalNomSTR)(CadreDetailNomSTR).Form.Section(acDetail).Height

    Si acFooter existe alors taille = Forms(FormPrincipalNomSTR)(CadreDetailNomSTR).Form.Section(acFooter).Height

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Si header n'existe pas, cela entraine que Footer n'existe pas non plus.

    Tu peux récupérer l'erreur pour faire ton traitement, voici un exemple de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Commande1_Click()
    On Error GoTo GestionErreur
     
     
    MsgBox Me.ConteneurFormulaire1.Form.Section(0).Height + Me.ConteneurFormulaire1.Form.Section(1).Height + Me.ConteneurFormulaire1.Form.Section(2).Height
    GestionErreur:
    Select Case Err.Number
      Case 2462
        MsgBox Me.ConteneurFormulaire1.Form.Section(0).Height
      Case Else
        MsgBox "Erreur dans Commande1_Click"
    End Select
     
    End Sub

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 138
    Points : 67
    Points
    67
    Par défaut
    Bonjour ClaudeLELOUP,

    çà ne m'arrange pas trop de le faire comme cela. Néanmoins avec ta solution, en cas d'erreur, je préviens l'utilisateur et lui demande de demander à l'administrateur de l'outil d'ajouter une en-tête/pied au formulaire.

    A l'endroit où l'erreur se produit, çà ne bloque pas l'utilisation de l'outil si l'administrateur n'est pas là.

    Cependant, si je pense à mettre une en-tête/pied à chaque formulaire que je crée, même si je les réduis au max en taille, l'erreur ne s'affichera jamais

    Bien à toi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction glm sous R vs proc genmod sous SAS
    Par N.COZIC dans le forum SAS STAT
    Réponses: 2
    Dernier message: 27/02/2012, 09h33
  2. Réponses: 8
    Dernier message: 09/12/2008, 11h24
  3. Réponses: 2
    Dernier message: 29/11/2008, 17h55
  4. Réponses: 0
    Dernier message: 25/01/2008, 11h21
  5. Réponses: 11
    Dernier message: 02/05/2007, 08h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo