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 :

Useforms qui plantent au bout d'un certain temps.


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 134
    Points : 129
    Points
    129
    Par défaut Useforms qui plantent au bout d'un certain temps.
    Bonjour,

    Je me permets de créer un nouveau post car après de longues recherches infructueuses, je ne trouve toujours pas solution à mon problème

    Voila mon problème : dans un classeur excel (2007), j'affiche une liste de nom dans une colonne, avec des boutons 'OptionButton' à coté de chaque nom sur chaque ligne. Lorsque que l'utilisateur click sur un de ces 'OptionButton', un useform apparait en fonction du nom... Voici le code en VBA :

    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
     
     
    Sub Bouton1_Click()
     
    if Feuil3.Range("B1") = "Nom" Then
    FenetreNom.Show vbModeless
    ElseIf Feuil3.Range("B1") = "Prénom" Then
    FenetrePreNom.Show vbModeless
    end If
     
    end Sub
     
    Sub Bouton2_Click()
     
    if Feuil3.Range("B2") = "Nom" Then
    FenetreNom.Show vbModeless
    ElseIf Feuil3.Range("B2") = "Prénom" Then
    FenetrePreNom.Show vbModeless
    end If
     
    end Sub
    Tout marche nickel, sauf qu'au bout d'un certain temps (2-3 minutes environ) lorsque je re-click sur un des boutons j'ai une erreur de type : "Erreur d'execution '75' Objet spécifié introuvable"

    Je comprends pas du tout... L'objet est reconnu, puis 2-3 minutes après... inconnu




    Merci pour votre aide

  2. #2
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut
    au risque de te paraitre bête je ne comprends pas bien ce que tu fais...
    Et quand il plante sur quelle ligne de code est ce?
    Tes userforms ont elles du code au démarrage?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 134
    Points : 129
    Points
    129
    Par défaut
    En fait, je bosse sur les titres du CAC, titres que j'affiche, selon la sélection de l'utilisateur dans une colonne (Accor, ArcelorMittal, .. Vivendi, etc...). En fonction du titre dans la case de la colonne, s'il clique sur l'OptionButton, l'utilisateur aura des infos sur la société en question. Donc si dans la cellule B1 il y'a "Accor" par exemple, alors en cliquant sur l'OptionButton à coté, il affiche le Useform (FenetreAccor.Show vbModeless) sinon, s'il y'a Vivendi dans la case, il charge l'Useform se rapportant à Vivendi (FenetreVivendi.Show vbModeless)...

    Je sais pas si c'est plus clair

  4. #4
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut
    donc tu as fait 40 userforms différentes???! Et si le cac passe a 30 ou si tu as un swap entre deux titres (un qui sort et un qui rentre)?
    Et de même pour chaque ligne tu as des optionbouton? genre obVivendi, obAccor etc.. ?
    sur quelle ligne plante ton code?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 134
    Points : 129
    Points
    129
    Par défaut
    Oui j'ai 40 useform différents
    Pour le Swap, je change les noms dans mon code sans soucis, pour le 40 -> 30 impossible, car par définition du CAC, 40 titres, ni plus, ni moins.

    Sinon ça plante sur la ligne associée à l'OptionButton qui est solicité, c'est à dire, au bout de 2-3 minutes si je clique sur l'OptionButton 4 associé à la ligne 4 ou est écrit "Natixis" alors le débugger s'arrête ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Bouton4_Click()
     
    if Feuil3.Range("B4") = "Accor" Then
    FenetreAccor.Show vbModeless
    ElseIf Feuil3.Range("B4") = "Natixis" Then
    FenetreNatixis.Show vbModeless
    end If

  6. #6
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut
    Je présuppose que tu ne peux pas faire une seule Userform et un seul panneau de paramétrage...

    De plus pourquoi n'avoir pas fait de select case, en lieu et place de if, elseif etc..?
    Pour ton probleme as tu bien fermé la fenetre accor avant d'ouvrir la fenetre natexis?

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 134
    Points : 129
    Points
    129
    Par défaut
    Select case, je ne connais pas

    Sinon non, je ne ferme pas mes useform... cela ne devrait pas être nécessaire, si ? Serait-ce cela qui fait planter ? Si oui selon toi, comment fermer un useform ?

    Merci pour tes réponses

  8. #8
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut
    j'ai fait un rapide test et ça ne plante pas chez moi. Alors je sèche sur ce problème.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 134
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par EvaristeGaloisBis Voir le message
    j'ai fait un rapide test et ça ne plante pas chez moi. Alors je sèche sur ce problème.
    Suite à ta remarque, j'ai également testé sur un PC + W7 + Excel 2007 et cela marche impec... Alors que sous Bootcamp + W7 + Excel 2007 sur mon Mac, les useforms bogues au bout de quelques minutes...

    Donc Microsoft les fautifs (encore)
    Merci en tout les cas

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut
    bonjour

    je rejoint l'idée d'une repons prédédente de ce post


    pourquoi pas faire q'un seul userform paramétré pour tout les groupes

    sa serai moins lourd

    si tu a un cliché de la feuille ou sont recupéré les donnée je pourrais te faire un exemple


    dailleur pour quoi utilisé des option boutons

    tout simplement en selectionnant la celule avec le nom ouvrir le usf et remplir avec la ligne corespondante

    un code qui doit faire apeu pres dix lignes et tout aussi efficace



    au plaisir

    re

    un exemple tout simple
    avec un usf et deux texboxs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim ligne as long  
    ligne = Selection.Row
    UserForm1.Show 0
    UserForm1.TextBox1 = Cells(ligne, 1)
    UserForm1.TextBox2 = Cells(ligne, 2)
     
    End Sub

    au plaisir

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/05/2007, 15h37
  2. [VB6] MessageBox a faire disparaître au bout d'un certain temps
    Par ebgdas dans le forum VB 6 et antérieur
    Réponses: 24
    Dernier message: 22/04/2006, 23h20
  3. update qui bloque au bout d'un certain temps
    Par delaio dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/03/2006, 09h51
  4. Stopper l'exécution d'une fonction au bout d'un certain temp
    Par Eagle959 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/03/2006, 18h16
  5. Fermer une fenêtre au bout d'un certain temps.
    Par cprogil dans le forum Composants VCL
    Réponses: 5
    Dernier message: 27/11/2003, 18h25

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