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 Appel de formulaire


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 15
    Par défaut Problème Appel de formulaire
    Bonjour tout le monde,

    Je travail sur un classeur qui à une première page nommé accueil avec un bouton pour importer des données et un second pour ouvrir un formulaire de sélection.

    Mon problème est que le code associé à mon second bouton (ouverture de formulaire) ne marche plus alors que hier oui.

    le code associé au bouton est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Option Explicit
     
    Sub afficher()
    UserForm1.Show
    End Sub
    J'ai supprimer le bouton et j'en est recréer un, de même pour le module de code créer, mais le problème persiste.

    J'ai vérifier le nom de mon UserForm1 mais aucun soucis la dessus.

    J'ai aussi éssayer la syntaxe suivante :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Option Explicit
     
    Sub afficher()
    Workbooks("nom_du_classeur_avec_ou sans extension").UserForm1.Show
    End Sub
    Voici l'initialisation du formulaire :

    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
    Dim Ws As Worksheet
    Dim NbLignes As Integer
     
    'Initialisation du formulaire 1
     
    Private Sub UserForm_Initialize()
        'Définit la feuille contenant les données
        Set Ws = Worksheets("donnee_Commune")
        'Définit le nombre de lignes dans la colonne A
        NbLignes = Ws.Range("A65536").End(xlUp).Row
     
        'Remplissage du ComboBox1
        Alim_Combo 1
     
    End Sub
    J'attend votre réponse avec impatience car ça fais quelques jours que je bataille dessus sans trouver de réponse.

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingenieur Securite
    Inscrit en
    Mai 2012
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingenieur Securite
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 97
    Par défaut
    Salut

    Est ce que ça ne viendrai pas de l'activation de tes macros, ou as tu changer le nom de ton USF?

    Cordialement

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 15
    Par défaut
    Non mon formulaire s'appelle bien UserForm1.

    Comment ça l'activation de mes macros ? le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Option Explicit
     
    Sub afficher()
    Workbooks("nom_du_classeur_avec_ou sans extension").UserForm1.Show
    End Sub
    est dans un module tout seul. Pour l'associer a mon bouton je fais un clic droit affecter une macro et je choisis ce code.

    Hier soir cela marchait très bien je ne comprend vraiment pas

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingenieur Securite
    Inscrit en
    Mai 2012
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingenieur Securite
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 97
    Par défaut
    Pour l'activation des macros je parle d'une barre te disant "Avertissments de sécurité", (s'insère entre ta barre de menu et celle de formule, à l'ouverture de ton fichier).
    Est ce que tu as ça?
    Sinon dans ton menu développeurs, cliques sur Sécurité Macros et regardes la gestion de confidentialité.

    A + de te relire

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 15
    Par défaut
    Ah d'accord

    bien sur j'ai regarder, toutes les macros sont activées, j'ai une autre macrosur ce classeur qui n'utilise pas de formulaire mais qui marche très bien !

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingenieur Securite
    Inscrit en
    Mai 2012
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingenieur Securite
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 97
    Par défaut
    Peux tu envoyer un fichier sans données confidentielles STP?

    Un dessin vaut mieux que des grands discours

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 15
    Par défaut
    Le code qui ne marche pas est le suivant c'est la ligne en gras qui fais planté la macro quand je j'appuie sur le bouton pour afficher le formulaire car l'initialisation plante.

    le message est :

    "Impossible de définir la propriété Value.Valeur de propriété non valide"

    Si quelqu'un à une réponse je désespère

    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
    Option Explicit
    
    Dim Ws As Worksheet
    Dim NbLignes As Integer
    
    
    
    
    Private Sub ComboBox1_Change()
    
    End Sub
    
    Private Sub UserForm_Initialize()
    ComboBox1.AddItem
    Set Ws = Worksheets("donnee_Commune")
    NbLignes = Ws.Range("A65536").End(xlUp).Row
    'Remplissage du ComboBox1
    Alim_Combo 1
    
    End Sub
    
    'Procédure pour alimenter les ComboBox
    Private Sub Alim_Combo(CbxIndex As Integer, Optional Cible As Variant)
        Dim j As Integer
        Dim Obj As Control
        
        'Définit le ComboBox à remplir
        Set Obj = UserForm1.Controls("ComboBox" & CbxIndex)
        'Supprime les anciennes données
        Obj.Clear
        
        'alimente le Combobox initial (Combobox1)
        If CbxIndex = 1 Then
            'Boucle sur les lignes de la colonne E (à partir de la 2eme ligne)
            For j = 2 To NbLignes
                Obj = Ws.Range("E" & j)
                'Remplit le ComboBox sans doublons
                If Obj.ListIndex = -1 Then Obj.AddItem Ws.Range("E" & j)
            Next j
        Else
            'Alimentation conditionnelle des autres Combobox en fonction de
            'ce qui est sélectionnée dans le contrôle précédent:
            '(La sélection du ComboBox1 définit le contenu du ComboBox2,
            'On a une selection en cascade)
            For j = 2 To NbLignes
                If Ws.Range("E" & j).Offset(0, CbxIndex - 2) = Cible Then
                    Obj = Ws.Range("E" & j).Offset(0, CbxIndex - 1)
                    If Obj.ListIndex = -1 Then Obj.AddItem Ws.Range("A" & j).Offset(0, CbxIndex - 1)
                End If
            Next j
       End If

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    Tu as oublié le Set devant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Obj = Ws.Range("E" & j)
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. [MySQL] les apostrophe me cause un problème dans un formulaire
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 22/10/2005, 20h28
  2. Problème: condition sur formulaire dans requête
    Par decour dans le forum Access
    Réponses: 1
    Dernier message: 17/10/2005, 23h27
  3. Problème d'accès formulaire de contact
    Par Mystic26 dans le forum Langage
    Réponses: 7
    Dernier message: 16/09/2005, 16h47
  4. problème déplacement entre formulaire
    Par estancha dans le forum IHM
    Réponses: 6
    Dernier message: 07/10/2004, 15h22
  5. []Problème avec les formulaires Outlook
    Par Invité dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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