"On error" sans effet sur erreur 1004
Résolu
Biorx8
-
Biorx8 -
Biorx8 -
Bonjour,
je suis en train de faire un VBA des données en provenance d'un autre fichier XLS sont reprises.
seul élément inhabituel, l'autre fichier est verrouillé à l'ouverture et un code m'est demandé pendant le déroulement du script.
dans le cas d'un mauvais mot de passe, excel me remonte une erreur 1004 (Erreur d'exécution 1004 La méthode "Open" de l'objet "Workbooks" a échoué)
j'ai ajouté une borne "on error" mais je me retrouve toujours avec cette erreur
.
.
détail du code
.
.
.
.
.
si l'un d'entre vous pouvait me donner des infos, ça m'aiderait beaucoup.
Merci à tous
je suis en train de faire un VBA des données en provenance d'un autre fichier XLS sont reprises.
seul élément inhabituel, l'autre fichier est verrouillé à l'ouverture et un code m'est demandé pendant le déroulement du script.
dans le cas d'un mauvais mot de passe, excel me remonte une erreur 1004 (Erreur d'exécution 1004 La méthode "Open" de l'objet "Workbooks" a échoué)
j'ai ajouté une borne "on error" mais je me retrouve toujours avec cette erreur
.
.
détail du code
.
.
Function reprisemdp() While True Do On Error GoTo Err_creamdp Sheets("Mdp").Delete Loop Wend 'en cas de suppression d'un onglet une fenêtre apparait pour 'demander la confirmation de l'action 'la "loop" si dessus à été ajouté pour rendre obligatoire la suppression de l'onglet Err_creamdp: On Error GoTo wrongpsw Sheets.Add After:=Sheets(Sheets.Count) ActiveSheet.Name = "Mdp" Workbooks.Open Filename:="D:\Utilisateurs\xnsf819\Desktop\testmdp.xlsx" 'le problème se pose ici, la ligne au dessus sert à ouvrir le fichier source 'et le mot de passe du fichier est demandé 'en cas d'erreur sur le mot de passe excel me sort une erreur 1004 au lieu de suivre 'le scénario "on error" Windows("utilitaire admin SAP LP alpha.xls").Activate ActiveSheet.Range("A1").FormulaR1C1 = "=[testmdp.xlsx]Windows!RC" Range("A1").AutoFill Destination:=Range("A1:B1"), Type:=xlFillDefault Range("A1:B1").AutoFill Destination:=Range("A1:B31") Windows("testmdp.xlsx").Close GoTo finmdp wrongpsw: retmdp = msgbox("Password non valide", vbRetryCancel, "erreur mot de passe") If retmdp = vbRetry Then GoTo Err_creamdp Else GoTo finmdp End If finmdp: End Function
.
.
.
si l'un d'entre vous pouvait me donner des infos, ça m'aiderait beaucoup.
Merci à tous
A voir également:
- "On error" sans effet sur erreur 1004
- Effet miroir word - Guide
- Erreur eespt technical error ✓ - Forum TNT / Satellite / Réception
- Pointage antenne trop faible - Forum Box et Streaming vidéo
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur t32 ✓ - Forum Livebox
1 réponse
solution trouvée en utilisant une autre méthode.... voila le code pour info
merci à tous
merci à tous
Function reprisemdp() While True Do On Error GoTo Err_creamdp Sheets("Mdp").Delete Loop Wend Err_creamdp: Sheets.Add After:=Sheets(Sheets.Count) ActiveSheet.Name = "Mdp" reprisemdp2 End Function Function reprisemdp2() On Error Resume Next restartmdp: Workbooks.Open Filename:="D:\Utilisateurs\xnsf819\Desktop\testmdp.xlsx" If Err.Number = 0 Then Windows("utilitaire admin SAP LP alpha.xls").Activate ActiveSheet.Range("A1").FormulaR1C1 = "=[testmdp.xlsx]Windows!RC" Range("A1").AutoFill Destination:=Range("A1:B1"), Type:=xlFillDefault Range("A1:B1").AutoFill Destination:=Range("A1:B31") Windows("testmdp.xlsx").Close GoTo finmdp Else retmdp = msgbox("Password non valide", vbRetryCancel, "erreur mot de passe") If retmdp = vbRetry Then GoTo retry Else GoTo finmdp End If End If retry: Err.Clear GoTo restartmdp finmdp: End Function