Récupérer le message d'erreur à l'ouverture d'un fichier Excel
Fermé
ExcelGuru1
Messages postés
15
Date d'inscription
lundi 26 juin 2017
Statut
Membre
Dernière intervention
6 juillet 2017
-
Modifié le 26 juin 2017 à 03:09
ExcelGuru1 Messages postés 15 Date d'inscription lundi 26 juin 2017 Statut Membre Dernière intervention 6 juillet 2017 - 5 juil. 2017 à 15:48
ExcelGuru1 Messages postés 15 Date d'inscription lundi 26 juin 2017 Statut Membre Dernière intervention 6 juillet 2017 - 5 juil. 2017 à 15:48
A voir également:
- Récupérer le message d'erreur à l'ouverture d'un fichier Excel
- Message - Guide
- Recuperer message whatsapp supprimé - Guide
- Erreur 0x80070643 - Accueil - Windows
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
5 réponses
f894009
Messages postés
17225
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
17 janvier 2025
1 712
26 juin 2017 à 15:11
26 juin 2017 à 15:11
Bonjour,
le message d'erreur est dans la variable msg, pas d'affichage !!!!!
le message d'erreur est dans la variable msg, pas d'affichage !!!!!
Sub test() Dim Msg As String ' If an error occurs, construct an error message. On Error GoTo traite_erreur ' Defer error handling. Err.Raise (1004) ' Genere l'erreur 1004 qui peut etre un fichier corrompu........ ' Check for error, then show message. x = Date Exit Sub traite_erreur: If Err.Number > 0 Then Msg = "Error # " & Str(Err.Number) & " was generated by " & Err.Source & vbNewLine & Err.Description Err.Clear End If End Sub
ExcelGuru1
Messages postés
15
Date d'inscription
lundi 26 juin 2017
Statut
Membre
Dernière intervention
6 juillet 2017
1
26 juin 2017 à 15:51
26 juin 2017 à 15:51
Bonjour,
Merci beaucoup pour ta réponse !
Le problème est que j'essayes d'executer ce code en s'inspirant du tien mais rien ne s'affiche sur "A1".
Comment faire afficher le contenu de Msg dans "A1" ?
Moi ca ne marche pas avec ce code là :/
Help svppp !
Merci beaucoup pour ta réponse !
Le problème est que j'essayes d'executer ce code en s'inspirant du tien mais rien ne s'affiche sur "A1".
Sub test()
Dim Msg As String
' If an error occurs, construct an error message.
On Error GoTo traite_erreur ' Defer error handling.
Err.Raise (1004) ' Genere l'erreur 1004 qui peut etre un fichier corrompu........
' Check for error, then show message.
x = Date
Exit Sub
traite_erreur:
If Err.Number > 0 Then
Msg = "Error # " & Str(Err.Number) & " was generated by " & Err.Source & vbNewLine & Err.Description
Err.Clear
End If
ThisWorkbook.Sheets(1).Range("A1").Value = Msg
End Sub
Comment faire afficher le contenu de Msg dans "A1" ?
Moi ca ne marche pas avec ce code là :/
Help svppp !
f894009
Messages postés
17225
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
17 janvier 2025
1 712
26 juin 2017 à 16:08
26 juin 2017 à 16:08
Re,
Preferable de mettre ecriture avant la raz de l'erreur........
Preferable de mettre ecriture avant la raz de l'erreur........
Sub test() Dim Msg As String ' If an error occurs, construct an error message. On Error GoTo traite_erreur ' Defer error handling. Err.Raise (1004) ' Genere l'erreur 1004 qui peut etre un fichier corrompu........ ' Check for error, then show message. x = Date Exit Sub traite_erreur: If Err.Number > 0 Then Msg = "Error # " & Str(Err.Number) & " was generated by " & Err.Source & vbNewLine & Err.Description ThisWorkbook.Sheets(1).Range("A1").Value = Msg Err.Clear End If End Sub
ExcelGuru1
Messages postés
15
Date d'inscription
lundi 26 juin 2017
Statut
Membre
Dernière intervention
6 juillet 2017
1
>
f894009
Messages postés
17225
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
17 janvier 2025
26 juin 2017 à 16:24
26 juin 2017 à 16:24
Merci beaucoup f894009 !
Actuellement j'ai bien le message "Error # 1004..." qui s'affiche... Mais quand je tente d'ouvrir un fichier qui normalement est corrompu, la macro me renvois toujours le même message "Error # 1004". Même cas pour fichier avec mot de passe, ou fichier avec Lien externe introuvable... toujours erreur 1004
Je n'arrive pas à récupérer le message d'erreur de l'ouverture du fichier :/
Est ce qu'il y'aurait une solution svp ?
Actuellement j'ai bien le message "Error # 1004..." qui s'affiche... Mais quand je tente d'ouvrir un fichier qui normalement est corrompu, la macro me renvois toujours le même message "Error # 1004". Même cas pour fichier avec mot de passe, ou fichier avec Lien externe introuvable... toujours erreur 1004
Je n'arrive pas à récupérer le message d'erreur de l'ouverture du fichier :/
Est ce qu'il y'aurait une solution svp ?
pierre
>
ExcelGuru1
Messages postés
15
Date d'inscription
lundi 26 juin 2017
Statut
Membre
Dernière intervention
6 juillet 2017
Modifié le 26 juin 2017 à 23:52
Modifié le 26 juin 2017 à 23:52
Bonsoir ExcelGuru1,
Pour la dernière partie du code VBA, comme il n'y a pas d'instruction
entre le End If et le End Sub, tu peux l'écrire ainsi :
traite_erreur: If Err.Number = 0 Then Exit Sub Msg = "Error # " & Str(Err.Number) & " was generated by " & Err.Source & vbNewLine & Err.Description ThisWorkbook.Worksheets(1).[A1] = Msg: Err.Clear End Sub
Je n'ai pas vérifié quel est le n° d'erreur de tes autres erreurs, mais si c'est des
nombres négatifs, alors cette fois, les messages correspondants s'afficheront
en A1 aussi. ;)
f894009
Messages postés
17225
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
17 janvier 2025
1 712
26 juin 2017 à 08:27
26 juin 2017 à 08:27
Bonjour,
a voir, entre autres sites:
https://docs.microsoft.com/fr-fr/previous-versions/visualstudio/visual-studio-2008/ka13cy19(v=vs.90)?redirectedfrom=MSDN
et
pour la liste des erreurs
https://onlinelibrary.wiley.com/action/cookieAbsent
a voir, entre autres sites:
https://docs.microsoft.com/fr-fr/previous-versions/visualstudio/visual-studio-2008/ka13cy19(v=vs.90)?redirectedfrom=MSDN
et
pour la liste des erreurs
https://onlinelibrary.wiley.com/action/cookieAbsent
ExcelGuru1
Messages postés
15
Date d'inscription
lundi 26 juin 2017
Statut
Membre
Dernière intervention
6 juillet 2017
1
26 juin 2017 à 14:02
26 juin 2017 à 14:02
Bonjour f894009
Merci pour ta réponse.
Merci encore, j'ai vu ton lien qui traite parfaitement de sujet. Maintenant j'essayes d'adapter ce bout de code trouvé : Mon but c'est d'essayer d'ouvrir un fichier excel corrompu, désactiver d'erreur d'ouverture, et récupérer les infos de l'erreur dans des variable Sting.
Pourriez-vous m'aider svp ?
Code VBA trouvé sur lien de f894009 :
Si quelqu'un peut t'il bien m'aider svp à ajouter trois instructions :
1. Ouverture de fichier corrompu Excel
2. Ne pas afficher le message d'erreur d'ouverture.
3. Récupérer les infos de l'erreur (N°, Description, autres si possible...)µ
Merci beaucoup d'avance, je désespère et je n'arrive plus à me concentrer.
Merci pour ta réponse.
Merci encore, j'ai vu ton lien qui traite parfaitement de sujet. Maintenant j'essayes d'adapter ce bout de code trouvé : Mon but c'est d'essayer d'ouvrir un fichier excel corrompu, désactiver d'erreur d'ouverture, et récupérer les infos de l'erreur dans des variable Sting.
Pourriez-vous m'aider svp ?
Code VBA trouvé sur lien de f894009 :
Dim Msg As String
' If an error occurs, construct an error message.
On Error Resume Next ' Defer error handling.
Err.Clear()
Err.Raise(6) ' Generate an "Overflow" error.
' Check for error, then show message.
If Err.Number <> 0 Then
Msg = "Error # " & Str(Err.Number) & " was generated by " _
& Err.Source & ControlChars.CrLf & Err.Description
MsgBox(Msg, MsgBoxStyle.Information, "Error")
End If
Si quelqu'un peut t'il bien m'aider svp à ajouter trois instructions :
1. Ouverture de fichier corrompu Excel
2. Ne pas afficher le message d'erreur d'ouverture.
3. Récupérer les infos de l'erreur (N°, Description, autres si possible...)µ
Merci beaucoup d'avance, je désespère et je n'arrive plus à me concentrer.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ExcelGuru1
Messages postés
15
Date d'inscription
lundi 26 juin 2017
Statut
Membre
Dernière intervention
6 juillet 2017
1
5 juil. 2017 à 15:48
5 juil. 2017 à 15:48
Merci beaucoup chers amis !
Voici la solution adopté :
NB : cela permet de relever les erreurs au niveau vba. Les alertes et les warnings ne sont pas pris en compte par cette méthode.
De ce fait Je prefère ne pas cloturer ce topic dans l'attente de la théorie du tout. Lecture message Erreur (fait), reste les Alertes.
Merci a vous tous !
Voici la solution adopté :
Sub test()
Dim Msg As String
' If an error occurs, construct an error message.
On Error GoTo traite_erreur ' Defer error handling.
Err.Raise (1004) ' Genere l'erreur 1004 qui peut etre un fichier corrompu........
' Check for error, then show message.
x = Date
Exit Sub
traite_erreur:
If Err.Number = 0 Then Exit Sub
Msg = "Error # " & Str(Err.Number) & " was generated by " &
Err.Source & vbNewLine & Err.Description
ThisWorkbook.Worksheets(1).[A1] = Msg: Err.Clear
End Sub
NB : cela permet de relever les erreurs au niveau vba. Les alertes et les warnings ne sont pas pris en compte par cette méthode.
De ce fait Je prefère ne pas cloturer ce topic dans l'attente de la théorie du tout. Lecture message Erreur (fait), reste les Alertes.
Merci a vous tous !