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 confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    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 596
    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 596
    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 confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    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 596
    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 596
    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 confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    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