Bonjour à tous,
Je fais appel à vos compétences que je sais prodigieuses.
J'ai inclus en début de procédure l'instruction On Error Goto Gestion_Erreurs (où Gestion_Erreurs va me permettre d'agir en fonction du type d'erreur rencontré, qui sont dans mon exemple de 2 types).
Or, autant la 1ère détection d'erreur renvoie bien à Gestion_Erreurs , autant à la 2ème, le renvoi ne se fait pas.
D'où la question suivante : Doit-on réactiver d'une façon ou d'une autre (???) l'instruction On Error Goto ... après qu'elle ait été utilisée une 1ère fois ?
Voici mon cas :
- Je constitue la liste de choix d'une ComboBox avec les ss-répertoires d'un répertoire donné ( ici K:\\Archives)/ où K est une clé USB)
- Or, ce répertoire n'est pas plus actif car j'ai (volontairement) débranché la clé)
- Il détecte l'erreur 76 (la 1ère erreur) , modifie le répertoire en K:\\ (qui est le CurDir : C'est mon choix), et renvoie à l'embranchement Recommence: ;
- LE PROBLEME EST ICI : K:\\ ne fonctionnant pas plus que K:\\Archives (et pour cause) la procédure détecte l'erreur 440 (la 2ème erreur) mais ne renvoie plus au gestionnaire d'erreur Gestion_Erreurs : Pourquoi selon vous ?
.../...
Je vous remercie par avance pour votre aide.
Je fais appel à vos compétences que je sais prodigieuses.
J'ai inclus en début de procédure l'instruction On Error Goto Gestion_Erreurs (où Gestion_Erreurs va me permettre d'agir en fonction du type d'erreur rencontré, qui sont dans mon exemple de 2 types).
Or, autant la 1ère détection d'erreur renvoie bien à Gestion_Erreurs , autant à la 2ème, le renvoi ne se fait pas.
D'où la question suivante : Doit-on réactiver d'une façon ou d'une autre (???) l'instruction On Error Goto ... après qu'elle ait été utilisée une 1ère fois ?
Voici mon cas :
- Je constitue la liste de choix d'une ComboBox avec les ss-répertoires d'un répertoire donné ( ici K:\\Archives)/ où K est une clé USB)
- Or, ce répertoire n'est pas plus actif car j'ai (volontairement) débranché la clé)
- Il détecte l'erreur 76 (la 1ère erreur) , modifie le répertoire en K:\\ (qui est le CurDir : C'est mon choix), et renvoie à l'embranchement Recommence: ;
- LE PROBLEME EST ICI : K:\\ ne fonctionnant pas plus que K:\\Archives (et pour cause) la procédure détecte l'erreur 440 (la 2ème erreur) mais ne renvoie plus au gestionnaire d'erreur Gestion_Erreurs : Pourquoi selon vous ?
.../...
On Error GoTo Gestion_erreur 'Au cas ou le répertoire serait inexistant
TxtBx_chem_Sauv = IIf([B109] = "", CurDir, [B109])
Recommence:
racine = TxtBx_chem_Sauv ' Répertoire courant
Set fs = CreateObject("Scripting.FileSystemObject")
Set dossier = fs.getfolder(racine)
For Each d In dossier.SubFolders
Me.CmbBx_Chem_Sauv.AddItem d.Name
Next
TxtBx_Nouv_chem_Sauv = TxtBx_chem_Sauv 'Le répertoire de sauvegarde
TxtBx_Unité_Dsk = Left(TxtBx_chem_Sauv, 1) 'L'unité de disque de sauvegarde
Exit Sub
Gestion_erreur:
'Répertoire erroné : On affecte le répertoire courant par défaut.
If Err.Number = 76 Then TxtBx_chem_Sauv = CurDir: GoTo Recommence
If Err.Number = 440 Then MsgBox (" L ' UNITE DE DISQUE ACTIVE NE SEMBLE PLUS ACCESSIBLE ! ! ! "): Exit Sub
End Sub
TxtBx_chem_Sauv = IIf([B109] = "", CurDir, [B109])
Recommence:
racine = TxtBx_chem_Sauv ' Répertoire courant
Set fs = CreateObject("Scripting.FileSystemObject")
Set dossier = fs.getfolder(racine)
For Each d In dossier.SubFolders
Me.CmbBx_Chem_Sauv.AddItem d.Name
Next
TxtBx_Nouv_chem_Sauv = TxtBx_chem_Sauv 'Le répertoire de sauvegarde
TxtBx_Unité_Dsk = Left(TxtBx_chem_Sauv, 1) 'L'unité de disque de sauvegarde
Exit Sub
Gestion_erreur:
'Répertoire erroné : On affecte le répertoire courant par défaut.
If Err.Number = 76 Then TxtBx_chem_Sauv = CurDir: GoTo Recommence
If Err.Number = 440 Then MsgBox (" L ' UNITE DE DISQUE ACTIVE NE SEMBLE PLUS ACCESSIBLE ! ! ! "): Exit Sub
End Sub
Je vous remercie par avance pour votre aide.