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

Macros et VBA Excel Discussion :

[E-03] DialogSheet Problèmes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 17
    Par défaut [E-03] DialogSheet Problèmes
    Bonjour,
    1) Je dois modifier une dialogsheet. J'ai créé une liste déroulante et j'aimerais qu'elle soit à blanc à l'ouverture de la boite. Comment faire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '  DialogSheets("BDMutEtab").ListBoxes("MutEtbDCOption")
    ...?

    2) Comment mettre le focus dans une zone d'edition toujours sur une dialogsheet?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Case Else
     DialogSheets("BDMutEtab").Labels("LibAge").Locked = False
      DialogSheets("BDMutEtab").Labels("LibAge").Enabled = True
     DialogSheets("BDMutEtab").[MutEtbAge].Enabled = True

    Merci!

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    1) Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Set lst = DialogSheets("BDMutEtab").ListBoxes("MutEtbDCOption")
        If lst.ListCount > 0 Then
            For i = lst.ListCount To 1 Step -1
                lst.RemoveItem i
            Next i
        End If
     
    ' ou plus rapide
     
        DialogSheets("BDMutEtab").ListBoxes("MutEtbDCOption").RemoveAllItems
    2) Il faut définir l'ordre de tabulation de ton Dialogsheet. Tu cliques-droit sur ta Dialogsheet, et tu cliques sur "ordre de tabulation"
    Sinon pour info, pour ton Editbox, tu peux l'appeler par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DialogSheets("BDMutEtab").Shapes("MutEtbAge")
    'ou
    DialogSheets("BDMutEtab").Editboxes("MutEtbAge")

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 17
    Par défaut
    1) Je me suis mal exprimé désolé ; je voudrais que ma liste déroulante pointe à l'ouverture de la boite sur un item en particulier (item à blanc)

    Comment faire ?

    2) j'ai essayé le EditBoxes après avoir redéfini les ordres de tabulations sur la dialogsheet sans succès :
    Le principe est le suivant : à la selection d'un item de la liste déroulante, activation de la zone de saisie MutEtbAge et activation du curseur dedans..rien que du classique!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DialogSheets("BDMutEtab").Labels("LibAge").Locked = False
    DialogSheets("BDMutEtab").Labels("LibAge").Enabled = True
    DialogSheets("BDMutEtab").[MutEtbAge].Enabled = True
    DialogSheets("BDMutEtab").EditBoxes ("MutEtbAge")
    merci

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub initialize_dialogsheet()
        Set lst = DialogSheets("BDMutEtab").ListBoxes("MutEtbDCOption")
        lst.RemoveAllItems
        ' ajoute des entrées
        lst.AddItem "salut"
        lst.AddItem "hello"
        ' ajoute un item "vide" (en fait un espace) en 1ere position de la liste
        lst.AddItem " ", 1
        'ou : lst.Selected(1) = True ' définit que le 1er item est sélectionné (car on peut aussi selectionner plusieurs lignes si MultiSelect = True
     
        ' selectionne le 1er item dans la liste
        lst.ListIndex = 1
     
        DialogSheets("BDMutEtab").Show
    End Sub
    2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub Clic_sur_listbox()
        Set lst = DialogSheets("BDMutEtab").ListBoxes("MutEtbDCOption")
        Set edb = DialogSheets("BDMutEtab").EditBoxes("MutEtbAge")
        If Trim(lst.List(lst.ListIndex)) <> "" Then
            edb.Text = lst.List(lst.ListIndex) 'recupere le texte de la listbox
            DialogSheets("BDMutEtab").Focus = edb.Name ' donne le focus a l'editbox
        End If
    End Sub

  5. #5
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 17
    Par défaut
    1) la procedure ne marchait pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DialogSheets("BDMutEtab").ListBoxes("MutEtbDCOption")
    n'est pas reconnu

    voici ce que j'ai trouvé et qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub BDMutEtb_QuandAffichage()
     
      DialogSheets("BDMutEtab").DropDowns("MutEtbDCOption") = 1
     
    End Sub
    2) ne fonctionne pas également

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Clic_sur_listbox()
        Set lst = DialogSheets("BDMutEtab").ListBoxes("MutEtbDCOption")
        Set edb = DialogSheets("BDMutEtab").EditBoxes("MutEtbAge")
        If Trim(lst.List(lst.ListIndex)) <> "" Then
            edb.Text = lst.List(lst.ListIndex) 'recupere le texte de la listbox
            DialogSheets("BDMutEtab").Focus = edb.Name ' donne le focus a l'editbox
        End If
    End Sub
    -------------- je bloque là dessus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Case 1: verouillage de la zone MutEtbAge
    DialogSheets("BDMutEtab").Labels("LibAge").Enabled = False
    DialogSheets("BDMutEtab").[MutEtbAge].Enabled = False
    DialogSheets("BDMutEtab").EditBoxes("MutEtbAge").Text = ""
     
    Case Else ' déverouillage de la zone MutEtbAge
    DialogSheets("BDMutEtab").Labels("LibAge").Locked = False
    DialogSheets("BDMutEtab").Labels("LibAge").Enabled = True
    DialogSheets("BDMutEtab").[MutEtbAge].Enabled = True
    ' comment placer le focus dedans ??
    merci

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    Mais qu'est-ce qui ne fonctionnait pas?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DialogSheets("BDMutEtab").Focus = "MutEtbAge"

Discussions similaires

  1. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  2. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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