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 :

Besoin d'aide toujours Erreur Fatale


Sujet :

Macros et VBA Excel

  1. #21
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 55
    Points : 31
    Points
    31
    Par défaut
    J'ai ajouté workbook_open()
    J'ai supprimé le doubleclick et depuis cela fonctionne mieux et plus rapidement.
    Je n'ai plus de plantage pour l'instant.

    Je te remercie encore une fois.
    Dis mois puisque tu as le fichier.

    Je voudrais faire des statistiques sur les postes occupés.
    As tu une idée Si oui un début de code.

    Merci d'avance

    Tu est super!!!!!

    Amicalement

    Norbert

  2. #22
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Désolé mais là je dois partir. Pour le début de code, je compte sur toi
    Bon après-midi
    A+

  3. #23
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 55
    Points : 31
    Points
    31
    Par défaut
    MERCI POUR TOUTAmicalement

    Norbert

  4. #24
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 55
    Points : 31
    Points
    31
    Par défaut
    Bonjour Ousk',

    Je résume la situation :

    J'ai 2 userforms
    Le premier "Creation" s'affiche par workbook_open en fonction si le mois a déjà été créé.
    Celui-ci aucun problème.

    Le deuxième s'affiche si je le lance depuis ma barrre d'état personnalisée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub LancementJournée()
        DoEvents 'Arrête momentanément l'exécution
        'afin que le système d'exploitation puisse traiter d'autres événements
    Load LETABLEAU
    DoEvents 'Arrête momentanément l'exécution
        'afin que le système d'exploitation puisse traiter d'autres événements
    LETABLEAU.Show
    End Sub
    Il plante aléatoirement il peut fonctionner par exemple 5 fois de suite puis planter et refonctionner après?

    Par contre si je fais F8 il s'ouvre toujours sans jamais planter mais ce n'est pas une solution.

    Je n'ai pas très bien saisi ce que tu m'as expliquer ou sinon je me suis mal exprimé.

    Je voudrais savoir si c'était possible de faire une sorte de auto_open mais qui ne se lancerait que si je clique sur le bouton de ma barre d'état personnalisée

    Cordialement

    A+

    Norbert

  5. #25
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Points : 520
    Points
    520
    Par défaut
    Envoyé par Le Polonais:
    Je voudrais savoir si c'était possible de faire une sorte de auto_open mais qui ne se lancerait que si je clique sur le bouton de ma barre d'état personnalisée
    Tu n'as besoin que d'une seule procédure que tu appelles dans Workbook_Open de ThisWorkbook et dans la procédure Button_Click de ton bouton de barre personnalisée.

    C'est un bug bizarre et ça sent tout comme un pointeur non initialisé en langage C. Si tu ne comprends pas ce que je viens d'écrire, ça veut dire tout simplement que je crois que le problème peut se trouver ailleurs que dans le code que tu as dévoilé dans cette discussion jusqu'à maintenant.

    Comment fermes tu ton UserForm? Avec Unload LETABLEAU ou avec LETABLEAU.Hide?

  6. #26
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 55
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    Mais j'ai déjà un workbook_open mais affiche un autre Userforms
    Ma question c'est est-ce-que créer un deuxième workbook_open
    pour me permettre de lancer sans plantage mon deuxième Userforms
    celui qui plante de temps en temps

    Qu'est ce quec'est qu'un un pointeur non initialisé en langage C?
    Je ferme à la validation de ce Userforms par :
    Unload LETABLEAU

    Je comprend que cet un bug bizarre car en faisant F8 jamais je n'arrive à trouver ou cela plante car il ne plante jamais.

    A+

    Norbert

  7. #27
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Hello l'homme de l'Est,
    Je ne sais pas ce que tu as fais avec ton fichier mais je suis dans l'incapacité de t'aider. Impossible de restaurer ma barre d'outils standard, ce qui signifie que la procédure tourne toujours. J'ai l'impression que tu rentres dans une boucle sans en sortir.
    Impossible d'arrêter la procédure en question et donc de l'identifier.
    Impossible donc d'accéder au code qui tourne toujours.
    Quand tout est fermé avec Ctrl + Pause, puis arrêt demandé, elle tourne toujours. J'ai été obligé de passer par le gestionnaire des tâches.
    Avant de foutre en l'air mes petites affaires perso, j'ai préféré me retirer...
    Un conseil : Ouvre ton fichier en appuyant sur la touche Maj (shift) et parcours ton code pour vérifie toutes les conditions de sorties de boucles.
    Ce n'est pas l'ouverture de l'usf qui pose problème, c'est ce que tu fais après. Et il n'est pas certain qu'il s'agisse d'une boucle.
    Fais du pas à pas, il y a bien un moment où tu t'apercevras que les choses t'échappent...
    Si tu trouves on pourra sans doute arranger ça.
    A+

    Edit
    Je suis rudement brave ! Je viens de refaire un essai et j'ai compris.
    Dans ta macro DECOLLAGE tu mets une page de code à la suite de l'ouverture de ton usf...
    Tu dois savoir que ce code ne s'exécutera qu'à la fermeture de l'usf Création.
    Scinde en deux ta macro. Dans la première ouvre l'usf. Dans la seconde, mets le reste du code et, si besoin est de l'exécuter ici, mets un appel dans l'usf Création, dans Userform_Initialize

    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
    Sub DECOLLAGE()
     
    Worksheets("DATA").Visible = False
    Worksheets("Map").Visible = False
     
    If Sheets("DATA").Range("A1") = "1" Then GoTo fin 'Si 1 alors je ne fais rien
    Sheets("DATA").Range("A1") = "" 'sinon je continue
    Load Creation
    Creation.Show 'Lancement de la crétion des onglets pour un mois
    Fin::
    End sub
     
    Sub UneAutreMacro
    Dim LeVraiMois As Variant
    Dim Année As Single
    Dim NbJour As Single
    '...
    'Le reste du code
    '...
    End Sub
     
    Private sub Userform_initialize()
    UneAutreMacro
    '...
     
    End sub
    Après tu nous dis car il n'est pas certain que tu n'aies pas "aut' chose" que ce seul problème
    Continue a exécuter ton code avec F8, c'est le meilleur moyen pour débugger.

  8. #28
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Points : 520
    Points
    520
    Par défaut
    Après quelques arrêts sur ton code d'ouverture, j'ai identifié plusieurs problèmes dans ton application.

    Premièrement, le problème pour lequel tu as parti la discussion n'est pas le bon. Ton UserForm LETABLEAU n'est pas en cause du tout. Tu ne peux même pas aller plus loin que de cliquer sur ton bouton Valider dans le UserForm Creation que tu ouvres par la procédure DECOLLAGE dans Workbook_Open.

    On ne peut pas résoudre le problème quand le diagnostic de départ est biaisé par une opinion erronnée...

    Les bugs commencent dès le départ.

    Tu as mis l'option de recalcul du classeur à 'sur ordre'. Il en découle que le choix du mois dans ton UserForm Creation ne peut rien donner de bon car les formules situées en C1 et C2 sur la feuille invisible "DATA" donne un résultat de #N/A. Il faut donc placer un Application.Calculate juste avant de faire référence à ces adresses dans ton code et ça tourne.

    Mais ça plante un peu plus loin car tu précises une mauvaise valeur pour .PrintQuality dans ton bloc With ActiveSheet.PrintSetup. Il ne faut pas lui donner qu'une seule valeur mais un tableau de valeurs style Array(x,y). Si c'est corrigé, ça troune encore jusqu'à la fin de la procédure.

    J'ai finalement compris en lisant le code que tu veux faire un classeur qui crée d'autres classeurs.

    Tu veux que le UserForm Creation ne s'affiche que dans ton classeur de création. Ensuite, dans les classeurs créés, le double clique fait ouvrir le UserForm LETABLEAU. Ce dernier ne doit pas s'ouvrir dans le classeur original. Ce n'était pas clair dans tes explications.

    J'espère avoir résolu ton (tes) problème(s)...

    Note: Tu peux oublier ce qui s'est dit sur DoEvents (mais pas sur Cancel = True) et virer le tout. Tu peux aussi remplacer le 'Goto fin' par un Exit Sub.

  9. #29
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 55
    Points : 31
    Points
    31
    Par défaut
    Bonjour Homme de l'OR,

    Je te remercie pour ton aide mais ce n'est pas l'usf Création qui pose problème mais c'est l'autre usf LETABLEAU qui plante.

    Peux tu m'expliquer ceci dans ce fichier
    Mais en cherchant j'ai trouvé je te joins le fichier la découverte.

    Puis j'ai repris les vieux fichiers et je viens de m'apercevoir que depuis que j'ai mis un MultiPage9 ===> Commentaire dans usf LETABLEAU et ce texte dans dans Userform_Initialize du usf LETABLEAU

    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
    With TEXTE1 'autorise les retours à la ligne dans les boites de texte
    .MultiLine = True
    .EnterKeyBehavior = True
    End With
    With TEXTE2
    .MultiLine = True
    .EnterKeyBehavior = True
    End With
    With TEXTE3
    .MultiLine = True
    .EnterKeyBehavior = True
    End With
    With TEXTE4
    .MultiLine = True
    .EnterKeyBehavior = True
    End With
    With TEXTE5
    .MultiLine = True
    .EnterKeyBehavior = True
    End With
    With TEXTE6
    .MultiLine = True
    .EnterKeyBehavior = True
    End With
    With TEXTE7
    .MultiLine = True
    .EnterKeyBehavior = True
    End With
    With TEXTE8
    .MultiLine = True
    .EnterKeyBehavior = True
    End With
    With TEXTE9
    .MultiLine = True
    .EnterKeyBehavior = True
    End With
    With TEXTE10
    .MultiLine = True
    .EnterKeyBehavior = True
    End With
    C'est une piste d'après toi ou une coincidence.

    A+

    Norbert

    J'ai mangé la suite ce que je voulais dire avant d'inclure ce MultiPage9
    il ne plantais jamais et depuis il plante aléatoirement
    c'est une piste ou une coincidence
    A+
    Norbert

  10. #30
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 55
    Points : 31
    Points
    31
    Par défaut
    Bonjour Singular,


    Application.Calculate est à inclure juste avant ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If Sheets("Data").Range("B1") = "" Or Not IsNumeric(Sheets("Data").Range("B1")) Then
        MsgBox "l'année saisie n'est pas conforme dans la feuille DATA cellule B1" & vbCrLf _
        & "veuillez renouvler l'initialisation du tableau de service", vbExclamation, "message d'erreur"
        Exit Sub
    End If
    Année = Sheets("Data").Range("B1")
    NbJour = Sheets("Data").Range("C1")
    Pour un tableau de style Array(x,y)
    tu as un petit exemple?

    Merci pour ces corections dans l'usf Creation mais c'est l'autre usf LETABLEAU qui plante, usf Creation ne plantait jamais.

    Peut être en corrigeant tout ceci il ne plantera plus.

    Merci pour ton aide
    A+
    Norbert

  11. #31
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Juste pour indication, tu aurais intérêt à mettre "tout ça" en dur dans les propriétés des textbox, si leurs paramétrages est définitif. Ça t'éviterait des pages de codes Pièce jointe 22373
    Pour ta question, je ne sais pas
    Je laisse la place à quelqu'un qui aurait une idée. Par contre, je maintiens ce que je t'ai dit dans ma réponse précédente. Il n'est pas impossible que ton plantage vienne de là. Si tu tentes d'ouvrir ton second userform alors que l'exécution du code en sortie du 1er usf s'exécute, il y a conflit (je n'ai pas détaillé ton code mais deux précautions valent mieux qu'une).
    Bonne chance pour la suite.

    NB - Ne crée pas de nouvelle discussion sur un même sujet. Tout doublon est supprimé sans préavis -> cf "les règles du forum"

  12. #32
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Points : 520
    Points
    520
    Par défaut
    Je ne comprend pas ce que le .doc apporte en fait de piste, mais je peux tout de suite te dire que le MultiPage dans un Frame n'est pas une bonne idée. Tu n'as pas besoin du Frame puisque le MultiPage est lui aussi un conteneur.

    Il est bien possible que ça occasionne le problème.

    Le Polonais:

    Pour un tableau de style Array(x,y)
    tu as un petit exemple?
    Regardes l'aide en ligne de la propriété PrintQuality de l'objet PrintSetup...

    Le Polonais:

    Je te remercie pour ton aide mais ce n'est pas l'usf Création qui pose problème mais c'est l'autre usf LETABLEAU qui plante.
    Bien sur que Creation s'affichait. Mais ça plantait dès que tu cliquais sur Valider...


  13. #33
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Citation Envoyé par Singular Voir le message
    Bien sur que Creation s'affichait. Mais ça plantait dès que tu cliquais sur Valider...
    Oui, ça plante si tu ne rentres pas de date mais ce n'est qu'une gestion d'erreur sans conséquence sur le phénomène observé si tu rentres le mois et l'année. Là, c'est plus embêtant, "quelque chose" continue à s'exécuter sans qu'on puisse déterminer quoi. Comme test, essaie de modifier une barre d'outils dans Excel ou d'en afficher une nouvelle.

  14. #34
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 55
    Points : 31
    Points
    31
    Par défaut
    Bonjour Hommes de l'Ouest,

    J'ai modifié comme Ouskel'n'or m'a conseillé et aussi ce que Singular
    a trouvé.
    Le problème c'est que je ne pourrai le tester que Lundi.
    Car ce problème se pose uniquement au travail (bureau, XP + Excel 2003 + réseau)
    car chez moi ce programme n'a jamais planté malgré que j'ai un vieux coucou amd 350 + Millenium + excel 2000.

    Donc Merci Pour vos conseils et à Lundi je vous dirai si cela fonctionne ou pas.

    Do zobaczenia (à bientôt)

    Pozdrowienam (A+)

    Norbert

  15. #35
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    Citation Envoyé par Le POlonais
    car chez moi ce programme n'a jamais planté malgré que j'ai un vieux coucou amd 350 + Millenium + excel 2000.
    Mon pauvre ! Et tu t'en vantes ?
    Donc, si ça fonctionne sur Millenium, ça devrait fonctionner partout ! Donc, si ça fonctionne sur un vieux clou, et que ça ne fonctionne plus sur un clou plus récent, c'est un pb de vitesse. Vérifie qu'après chaque action d'affichage, de chargement de feuille, enfin, toutes tes actions sollicitant le système tu lui laisses le temps de faire son boulot. Pour ça tu as deux solutions non exclusives, DoEvents placé après chacune de ces actions et Application.screenUpdating = false avant modif de feuille, false que tu repasses à True une fois le code concerné exécuté.
    Bonne chance et à lundi.

    On t'attends mais n'ouvre pas de nouvelle discussion sur le sujet
    Bon ouikend

  16. #36
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 55
    Points : 31
    Points
    31
    Par défaut
    Bonsoir,

    Je pensais sincèrement que peut être c'était peut être un problème de système d'exploitation.

    Je viens de faire les modifications et à lundi

    Amicalement

    A+

    Norbert

  17. #37
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 55
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    J'ai testé depuis 2 jours et c'est parfait.

    JE REMERCIE TOUS CEUX QUI ONT PARTICIPE.

    UN GRAND COUP DE CHAPEAU.


    TRES TRES CORDIALEMENT, VOUS ETES DES CHAMPIONS.

    A+

    Norbert

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [XL-2007] Besoin d'aide pour erreur d'exécution VBA
    Par DarkBoon dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 11/08/2011, 10h51
  2. Besoin d'aide sur erreur
    Par tiny23 dans le forum Modélisation
    Réponses: 0
    Dernier message: 23/01/2011, 19h28
  3. Besoin d'aide sur erreur sql
    Par stagos dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/11/2007, 11h47
  4. Réponses: 7
    Dernier message: 30/10/2005, 12h54
  5. Erreurs de link. Besoin d'aide.
    Par Sunsawe dans le forum MFC
    Réponses: 11
    Dernier message: 22/07/2005, 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