Plantage fichier analyse des codes VBA

Suite,

Voici d'ailleurs le fichier sous forme CSV enregistré hier lors du test.

14import-38-2022-01-24.csv (248.00 Octets)

Oui j'arrive au même fichier mais pas avec votre code lol avec celui d'origine sans la procédure de test,

Merci d'avance,

Cordialement,

Suite,

Aucun oubli d'Exit Sub avant lignes de code ErrCSV ?

Re,

Normalement le nom donné au fichier c'est Contrôles. Avec une feuille appelée Erreurs.

Dans le fichier controles que tu postes, il n'y a rien d'enregistré.

Revois le code fourni.

Voici,

'Fichier d'enregistrement du déroulement du programme
Workbooks("Contrôles.xlsx").Sheets("Erreurs").Range("A1") = "Partie1Csv_OK"
Workbooks("Contrôles.xlsx").Save

X Cellus,

Qaund je vous is que je suis mauvais c'est un euphémisme, je n'ai pas créer la feuille Erreurs, par contre bizarre car le fichier enregistré sous mon serveur est bien "Contôles" mais quand je le charge sur le site il met "controles"

Je teste de ce pas, et c'est parfait merci : voici les informations qui apparaissent sur la feuille "Contrôles" :

Partie1Csv_OK
Partie2Csv_OK

Bon je vais tester les autres portions, en espérant trouver un problème pour solutionner ces plantages aléatoires,

Cordialement,

;Ok c'est les bonnes infos.

N'oublie pas d'effacer les 1ières cellules des colonnes A et B avant de relancer.

Bonjour à tous,

Après y avoir une bonne partie de la soirée, grâce à X Cellus que je remercie de nouveau, j'ai testé tous les codes macros du fichier forum joins sur ce site, et c'est OK.

J'ai voulu tester sur mon fichier de travail, et la j'ai un bug sur la portion 3 de cette procédure :

'-------------------------------------------------------------------------------------
X = "Partie3Classe": On Error GoTo ErrClasse 'Portion du code à traiter si Erreur
'-------------------------------------------------------------------------------------
    Application.EnableEvents = True 'réactive les évènements
    For Each o In ActiveSheet.PivotTables 'TCD
        With o.TableRange2
            s = .Value 'mémorise les valeurs
            .ClearContents 'efface le TCD
            .Value = s 'restitue les valeurs
        End With
    Next o

    Set o = Nothing 'Déchargement de l'objet

    For Each o In ActiveSheet.ListObjects 'tableaux structurés
        o.Unlist 'convertit en plage
    Next o

    Set o = Nothing

    For Each o In ActiveWorkbook.Connections 'Suppression des connections requêtes
        o.Delete
    Next o

    Set o = Nothing

    Range(w.UsedRange.Address) = w.UsedRange.Value 'supprime les formules
    Cells.Hyperlinks.Delete 'supprime les liens hypertextes
    Cells.Validation.Delete 'supprime les liens des listes de données

'Fichier d'enregistrement du déroulement du programme
Workbooks("Contrôles.xlsx").Sheets("Erreurs").Range("B3") = "Partie3Classe_OK"
Workbooks("Contrôles.xlsx").Save

Après avoir comparé mon fichier de travail et celui du forum, il bloque à cause de la colonne jaune (sur le fichier forum que je rejoins),

Lors de la création du nouveau fichier il bloque sur cet onglet D2, et il y a un lien qui se créé entre le fichier de départ et ce nouveau fichier. (Données, modifier les liens)

Pourtant dans ma procédure j'ai cette ligne :

Cells.Validation.Delete 'supprime les liens des listes de données

qui fonctionne sur tous les onglets sauf D2, et à cause des cellules en jaune, si je supprime les données de ces cellules, le traitement va jusqu'à son terme sans problème,

Je rejoints mon fichier Forum, et si quelqu’un pourrait me dire pourquoi ces cellules provoquent une liaison lors de la création d'un nouveau fichier (classeur 1 que je joints également),

Merci d'avance pour votre aide,

Pensez vous également que c'est ce qui pourrait expliquer mes plantages Excel,( impossibilité d'ouvrir le fichier et obligé de restaurer une sauvegarde) parce qu'à priori tout fonctionne saut cette anomalie évoqué au dessus,

Si ce n'est pas mes codes VBA, est ce que ça pourrait venir des requêtes du fichier,?

Merci d'avance, et bonne soirée à tous,

Cordialement,

6forum.zip (536.19 Ko)
5classeur1.xlsx (23.82 Ko)

Bonjour au forum,

J'ai cherché de mon coté et j'ai trouvé pourquoi la procédure test bloquait (sur le fichier joint forum onglet D2 cellule D39 j'avais ceci de noté : =(943,20/16)*4*50%

sans le résultat, je ne sais pas pourquoi c’était resté figé sur mon fichier d’origine, toujours est il qu'en rentrant dans la cellule D39 de mon fichier de départ et en

faisant entré j’obtenais le résultat,

Donc en notant plutôt (943,20/16)*4*50% dans le fichier de départ, la procédure test création fichier classe va jusqu'à son terme,

Mais je ne suis pas plus avancé, sur le pourquoi du plantage de mon fichier

Donc à la base j'avais ce message : "erreur système &h80004005" erreur non spécifié, puis après avoir installé ceci au début de chaque module

    On Error GoTo erreur

et en fin

    ...
    Exit Sub
erreur:
    Stop: Resume
End Sub

Il m' a mis une fois un message d'impossibilité d'ouvrir le programme,

Dois je conserver ces codes au début et a la fin de mes modules, car au moins j'évite le "erreur système &h80004005" erreur non spécifié jusqu'à présent?,

Que feriez vous à ma place?

Pouvez vous vous penchez sur les requêtes du fichier, pour savoir si le problème viendrait de la ?, Sur certaines feuilles, il y a ce code pour actualisé un TCD :

Private Sub Worksheet_Activate()

    Application.ScreenUpdating = False
    Me.PivotTables(1).PivotCache.Refresh

End Sub

Le TCD à pour source une connexion de requêtes, ce qui fait que lorsque je me déplace sur cette feuille, la requête et le TCD s'actualise,

J'ai enfin une dernière question : j'ai un petit bout de macro dans le module 1, accessible par le raccourci Ctrl+Shift+D :

Public Sub OK()
On Error GoTo erreur
'Raccourci Feuille export
Application.ScreenUpdating = False
Feuil1.Select
Exit Sub
erreur:
Stop: Resume
End Sub

Il n'a pas de problème dans l'écriture de ce code?, Il fonctionne mais sait on jamais?,

Si j'ai un fichier qui plante de nouveau, je ferai une copie d'écran du message qui apparait, car je ne l'ai plus en tête mais le fichier ne s'ouvre pas et un message apparait,

Merci à tous pour le temps consacré, et mention spéciale à X Cellus pour m'avoir expliqué comment tester une procédure (ça pourra toujours me servir),

Cordialement,

Bonjour Massari59264,

D'abord, Merci pour la mention spéciale.

Je vois que tu as progressé et corrigé certains soucis en portion 3.

En fonction des différents portions passées. Donc la 4, si tu n'en parles pas c'est que c'est bon.

Et la macro OK, pas de souci. Maintenant tu n'est pas obligé de passer par une macro pour revenir sur cette feuille.

Un clic droit sur la barre d'onglets et cela tout à gauche de l'écran (avant l'onglet EN TETE) t'affichera la liste des feuilles disponibles à ouvrir.

Tu as maintenant la possibilité de sauvegarder ton fichier principal plus tard dans le déroulement du programme. Et non à l'ouverture qui reprend un fichier non-traité.

Et tu peux mettre en commentaire ou ôter les lignes de portion que j'ai ajoutées pour vérification.

Sur l'actualisation (Refresh) du TCD, du moins sur le fichier posté, il se déroule normalement, puisque c'est toujours des données fixes.

Maintenant tu as des données qui forcément bougent de jour en jour.

Par contre tu n'indiques pas combien de fois le fichier a fonctionné sans erreur ? Et aussi la raison des suppressions des connexions ?

Bonsoir X Cellus,

Pas de soucis c'est normal pour la mention spéciale, vous m'avez bien dépanné pour voir si il y avait un problème d'écriture VBA sur le fichier,

Oui la portion 4 se passe sans problème, et effectivement je peux me passer de cette marco de raccourci, j'avais déja vu cette astuce du clic droit sur la barre d'onglet tout à gauche, je pense donc supprimer cette macro qui ne sert effectviement à rien (c'est l'habitue de travailler sur PC portable lol)

Ah oui effectivement je crée une sauvegarde à l'ouverture, mais je pourrais créé une sauvegarde à l afermeture, il suffit de remplacer :

Private Sub Workbook_Open()

  ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & "SAV -" & ThisWorkbook.Name

End Sub

par :

Private Sub Workbook_Close()

  ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & "SAV -" & ThisWorkbook.Name

End Sub

C'est ça?,

Le fichier que j'ai posté je l'ai en 4 "exemplaires", j'ai travaillé dessus et aucun soucis, mais j'ai laissé ces codes dans les modules au début ;

   On Error GoTo erreur

et à la fin

    ...
    Exit Sub
erreur:
    Stop: Resume
End Sub

Que veux tu dire par :

"Et tu peux mettre en commentaire ou ôter les lignes de portion que j'ai ajoutées pour vérification." : pour l'instant les tests ont été fais sur un seul fichier, que j'avais dupliqués, effectivement je pourrais mettre en place tout ce qu'on a fait avec ce signe ' pour mettre en commentaire et les enlevés pour test lorsque j'ai un problème,

et par la raison des suppressions des connexions ? ; c'est pour éviter d'avoir des connexions sur les fichiers crées,

Merci pour tout,

Cordialement,

Bonjour,

Dois je conserver ces codes au début et a la fin de mes modules, car au moins j'évite le "erreur système &h80004005" erreur non spécifié jusqu'à présent?

non. ce n'est destiné qu'à aider la recherche d'une erreur, pas à la masquer. C'est à supprimer quand tu n'en plus besoin.

Si tu perds complètement la main comme annoncé dans un post récent, ça ne peut t'aider.
Tu n'as plus le choix, il faut partir sur un découpage du programme avec enregistrement des points de passages dans un fichier comme te propose X Cellus
eric

Bonjour Eric,

Merci pour votre retour, j'ai donc supprimé ces codes au début et à la fin, j'ai testé mes 4 fichiers avec la procédure de contrôle proposé par X Cellus, et je n'ai pas de message d'erreur,

J'ai donc fait pour les 4 fichiers : une procédure de sauvegarde à la fermeture comme ceci :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

  ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & "SAV -" & ThisWorkbook.Name

End Sub

J'ai laissé en commentaires toutes les parties rajoutées pour permettre un test de découpage des procédure VBA, au cas où ça viendrait de nouveau à planter pour re-tester le cas échéant,

C'est étrange, je n'ai plus de problèmes sur mes fichiers, croisons les doigts,

Je considère le post résolu, et le rouvrirait si jamais ça déconne de nouveau sans que je sache identifier le pourquoi lol

Merci à tous pour votre participation,

Cordialement,

Bonjour à tous,

Mon fichier plante de nouveau avec ceci comme message : Microsoft excel a cessé de fonctionner...

J'ai ceci comme détail du problème :

Signature du problème :
  Nom d’événement de problème:    APPCRASH
  Nom de l’application:    EXCEL.EXE
  Version de l’application:    16.0.5332.1000
  Horodatage de l’application:    6283ca63
  Nom du module par défaut:    KERNELBASE.dll
  Version du module par défaut:    6.3.9600.20369
  Horodateur du module par défaut:    626a1077
  Code de l’exception:    e0434352
  Décalage de l’erreur:    00014128
  Version du système:    6.3.9600.2.0.0.16.7
  Identificateur de paramètres régionaux:    1036

Alors le fichier ouvert seul ne pose pas de problème, mais en ayant plusieurs copies (pour d'autres structures) lorsque j'en ouvre un autre, au bout d'un certain temps, ils plantent (et pas toujours c'est d'autant plus étrange),

Pouvez vous m'en dire plus sur le module défaillant?,

je n'ai pas le mode administrateur, étant sur un environnement professionnel d'entreprise, pour une restauration ...

Merci pour vos retours,

Cordialement,

Rechercher des sujets similaires à "plantage fichier analyse codes vba"