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 :

Problème avec OptionButton en Vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Problème avec OptionButton en Vba
    Bonjour,
    J'ai saisie ce code dans un formulaire (FrmEngt) multipage (3) qui comporte 7 boutons d'option.
    Lorsque je clique sur le 1 (Opt1) la feuille ("Engagements") devient visible et est activée, le formulaire est activé sur la page 1 (Index 0) les autres ne sont pas visibles.
    Lorsque je veux faire la même chose avec la bouton 2 (Opt2), la feuille ("Factures") est bien activée, mais le formulaire n'apparaît pas, le message d'erreur suivant est notifié "Erreur d'éxécution '1004' - La méthode Select de la classe Range a échoué". J'ai coupé volontairement le code là où ça bloque, c'est à dire sur FrmEngt.Show


    Je ne comprends pas, pouvez-vous m'aider ?
    Merci par avance

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    Private Sub Opt1_Click()
        Sheets("Engagements").Visible = True
        Sheets("Engagements").Activate
    Unload FrmChoix
            FrmEngt.Show
            FrmEngt.MultiPage1.Value = 0
            FrmEngt.MultiPage1(1).Enabled = False
            FrmEngt.MultiPage1(1).Visible = False
            FrmEngt.MultiPage1(2).Enabled = False
            FrmEngt.MultiPage1(2).Visible = False
    Dim vcellule As Object
        FrmEngt.TxtDate = Date
            For Each vcellule In Sheets("Credit").Range("NCred")
                If vcellule.Value <> "" Then FrmEngt.CmbListeCred.AddItem vcellule.Value
        Next
            For Each vcellule In Sheets("Tiers").Range("NumT")
                If vcellule.Value <> "" Then FrmEngt.CmbListeTiers.AddItem vcellule.Value
        Next
            For Each vcellule In Sheets("Bât").Range("NomBat")
                If vcellule.Value <> "" Then FrmEngt.CmbListeBat.AddItem vcellule.Value
        Next
            For Each vcellule In Sheets("Nom").Range("Noms")
                If vcellule.Value <> "" Then FrmEngt.CmbNom.AddItem vcellule.Value
        Next
            For Each vcellule In Sheets("March").Range("Nmarch")
                If vcellule.Value <> "" Then FrmEngt.CmbMarche.AddItem vcellule.Value
        Next
                FrmEngt.CmbListeCred.ListIndex = 0
                FrmEngt.CmbListeCred.ListIndex = 0
                FrmEngt.CmbListeBat.ListIndex = 0
                FrmEngt.CmbNom.ListIndex = 0
                FrmEngt.CmbMarche.ListIndex = 0
                FrmEngt.CmbListeCred = ""
                FrmEngt.CmbListeCred = ""
                FrmEngt.CmbListeBat = ""
                FrmEngt.CmbNom = ""
                FrmEngt.CmbMarche = ""
                FrmEngt.LstImpu1.Clear
                FrmEngt.LstImpu2.Clear
                FrmEngt.LstImpu3.Clear
                FrmEngt.LstLigne.Clear
                FrmEngt.LstTiers.Clear
                FrmEngt.TxtNumDev = ""
                FrmEngt.TxtDevis = ""
                FrmEngt.TxtObjet = ""
                FrmEngt.TxtNum = ""
                FrmEngt.TxtMontant = ""
    End Sub
    
    Private Sub Opt2_Click()
    Opt1.Value = False
        Sheets("Factures").Visible = True
        Sheets("Factures").Activate
    Unload FrmChoix
    FrmEngt.Show
    End Sub

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    L'erreur semble indiquer une erreur de nom ou d'indice (?!?) ce que je ne crois pas.
    Mais il y a déjà une chose que je fais, c'est masquer l'usf affiché depuis l'usf que je souhaite afficher.
    En l'occurence, laisser "FrmEngt.Show" où il est mais placer "Unload FrmChoix" dans "FrmEngt_Initialize" ou "_activate"
    Dans certains cas c'est même obligatoire (je ne les ai pas en mémoire)
    Tu peux déjà tester ça.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour,

    Ok j'essaie et je te tiens au courant
    Merci

  4. #4
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour à tous,

    Désolé d'avoir tardé à répondre. Mon problème est résolu, il s'agissait en fait d'un Modal sur un UserForm qui restait actif et de ce fait empêcher l'ouverture d'un autre.
    C'est ce que j'ai compris avec mes petites connaissances.
    Merci pour votre aide
    A+

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

Discussions similaires

  1. Problème avec un code Vba Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/10/2007, 16h43
  2. Problème avec VLookup sous VBA
    Par julio26 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 20/07/2007, 14h03
  3. Problème avec un TreeView VBA
    Par JojoAlex dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 22/05/2007, 16h59
  4. Problème avec une instruction VBA
    Par Jpeg69 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/05/2007, 12h58
  5. Problème avec open() [Excel VBA]
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/11/2005, 16h21

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