'------------------------
(...proc ...)
'ChDrive "C"
On Error GoTo rRr
ChDir "C:Documents and SettingstotoBureau"
rRr:
ChDir "C:Documents and Settings"
'------------------------
Le fait d'écrire "On Error Goto rRr signifie seulement que
si un problème survient avec la procédure, au lien de se planter
la procédure continuera à la ligne de l'étiquette rRr.
Cependant, si aucune erreur n'est relevé, toutes les lignes de code
seront exécutées y compris la ligne en cas d'erreur. Résultat : Tu te
retrouve dans le répertoire : ChDir "C:Documents and Settings"
Pour éviter cela, il est possible de faire ceci :
'------------------------------
On Error Resume Next
If Dir("C:Documents and SettingstotoBureau", vbDirectory) <> "" Then
ChDir "C:Documents and SettingstotoBureau"
Else
ChDir "C:Documents and Settings"
End If
If Err <> 0 Then
Err = 0
MsgBox "Aucun des répertoires n'existe."
Exit Sub ' met fin à la procédure
' ou l'action que tu veux exécuter si problème
End If
'Le reste de ton code...
'------------------------------
'------------------------
(...proc ...)
'ChDrive "C"
On Error GoTo rRr
ChDir "C:Documents and SettingstotoBureau"
rRr:
ChDir "C:Documents and Settings"
'------------------------
Le fait d'écrire "On Error Goto rRr signifie seulement que
si un problème survient avec la procédure, au lien de se planter
la procédure continuera à la ligne de l'étiquette rRr.
Cependant, si aucune erreur n'est relevé, toutes les lignes de code
seront exécutées y compris la ligne en cas d'erreur. Résultat : Tu te
retrouve dans le répertoire : ChDir "C:Documents and Settings"
Pour éviter cela, il est possible de faire ceci :
'------------------------------
On Error Resume Next
If Dir("C:Documents and SettingstotoBureau", vbDirectory) <> "" Then
ChDir "C:Documents and SettingstotoBureau"
Else
ChDir "C:Documents and Settings"
End If
If Err <> 0 Then
Err = 0
MsgBox "Aucun des répertoires n'existe."
Exit Sub ' met fin à la procédure
' ou l'action que tu veux exécuter si problème
End If
'Le reste de ton code...
'------------------------------
'------------------------
(...proc ...)
'ChDrive "C"
On Error GoTo rRr
ChDir "C:Documents and SettingstotoBureau"
rRr:
ChDir "C:Documents and Settings"
'------------------------
Le fait d'écrire "On Error Goto rRr signifie seulement que
si un problème survient avec la procédure, au lien de se planter
la procédure continuera à la ligne de l'étiquette rRr.
Cependant, si aucune erreur n'est relevé, toutes les lignes de code
seront exécutées y compris la ligne en cas d'erreur. Résultat : Tu te
retrouve dans le répertoire : ChDir "C:Documents and Settings"
Pour éviter cela, il est possible de faire ceci :
'------------------------------
On Error Resume Next
If Dir("C:Documents and SettingstotoBureau", vbDirectory) <> "" Then
ChDir "C:Documents and SettingstotoBureau"
Else
ChDir "C:Documents and Settings"
End If
If Err <> 0 Then
Err = 0
MsgBox "Aucun des répertoires n'existe."
Exit Sub ' met fin à la procédure
' ou l'action que tu veux exécuter si problème
End If
'Le reste de ton code...
'------------------------------
Bonsoir Jean-Pascal,
Tu n'as pas besoin du rR2, comme ceci :
On Error GoTo rRr
ChDir "C:Documents and Settingsjean-pascalBureau"
nomFichier = Application.GetOpenFilename(typeFichier, , Titre)
'éventuellement encore d'autres choses que tu as à faire exécuter...
exit sub
rRr:
ChDir "C:Documents and Settings"
En principe, on place la gestion d'erreurs en fin de procédure et on donne
l'instruction de sortie juste avant, de manière à ce que les instructions
correspondant aux erreurs gérées ne soient exécutées que si on l'a
demandé.
--
http://www.excelabo.net/mpfe/connexion.php
Avec plaisir
Philippe.R
"j-pascal" a écrit dans le message de
news:uAO$Finalement j'opte pour ceci, qui semble fonctionner :
'--------------------
On Error GoTo rRr
ChDir "C:Documents and Settingsjean-pascalBureau"
GoTo rRr2
rRr:
ChDir "C:Documents and Settings"
rRr2:
nomFichier = Application.GetOpenFilename(typeFichier, , Titre)
'--------------------
Ce n'est sûrement pas terrible mais je n'ai trouvé que ça ;-(
@+ ?
JP
"jps" a écrit dans le message de news:ben, j-pascal, c'est normal que tu sortes de la proc puisque tu n'as pas
d'erreur dans le chemin de ton bureau ; tu tombes forcément dans le Exit
Sub
pour en avoir le coeur net, écris un faux chemin et tu vas bien vois the
result...
jps
"j-pascal" a écrit dans le message de news:Bonsoir,
Il me semble que tout marchait parfaitement lorsque tu m'avais proposé
ce code la première fois, et là ??
Je viens de faire un essai chez moi avec :
'-----------------------
On Error GoTo rRr
ChDir "C:Documents and Settingsjean-pascalBureau" 'jean-pascal
ou toto au boulot ...
Exit Sub
rRr:
ChDir "C:Documents and Settings"
'-----------------------
Chez moi, mon bureau correspond bien à "C:Documents and
Settingsjean-pascalBureau"
et pourtant, si j'exécute le code, je sors !! (Exit Sub) !!!
Je ne comprends pas ;-(
@+ ?
JP
"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:Bonsoir,
Il semble qu'il manque une sortie avant la gestion d'erreur :
ChDir "C:Documents and SettingstotoBureau"
exit sub
rRr:
ChDir "C:Documents and Settings"
--
http://www.excelabo.net/mpfe/connexion.php
Avec plaisir
Philippe.R
"j-pascal" a écrit dans le message de
news:Bonjour,
Un truc que je ne comprends pas dans ce qui suit :
'------------------------
(...proc ...)
'ChDrive "C"
On Error GoTo rRr
ChDir "C:Documents and SettingstotoBureau"
rRr:
ChDir "C:Documents and Settings"
'------------------------
Dans mon test, le répertoire "C:Documents and SettingstotoBureau"
existe et pourtant je me retrouve inéxorablement sur "C:Documents
and Settings" !!
Le 'ChDrive "C" est-il indispensable ?
Les procédures événementielles peuvent-elles être responsables de ce
dysfonctionnement ?
Par ailleurs, 'On Error Resume Next ' n'aurait-il pas le même usage ?
Merci d'avance pour vos lumières,
Cordialement,
JP
Bonsoir Jean-Pascal,
Tu n'as pas besoin du rR2, comme ceci :
On Error GoTo rRr
ChDir "C:Documents and Settingsjean-pascalBureau"
nomFichier = Application.GetOpenFilename(typeFichier, , Titre)
'éventuellement encore d'autres choses que tu as à faire exécuter...
exit sub
rRr:
ChDir "C:Documents and Settings"
En principe, on place la gestion d'erreurs en fin de procédure et on donne
l'instruction de sortie juste avant, de manière à ce que les instructions
correspondant aux erreurs gérées ne soient exécutées que si on l'a
demandé.
--
http://www.excelabo.net/mpfe/connexion.php
Avec plaisir
Philippe.R
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de
news:uAO$HCVAIHA.3940@TK2MSFTNGP05.phx.gbl...
Finalement j'opte pour ceci, qui semble fonctionner :
'--------------------
On Error GoTo rRr
ChDir "C:Documents and Settingsjean-pascalBureau"
GoTo rRr2
rRr:
ChDir "C:Documents and Settings"
rRr2:
nomFichier = Application.GetOpenFilename(typeFichier, , Titre)
'--------------------
Ce n'est sûrement pas terrible mais je n'ai trouvé que ça ;-(
@+ ?
JP
"jps" <jps@wannadoodoo.fr> a écrit dans le message de news:
OEDqTCUAIHA.4476@TK2MSFTNGP06.phx.gbl...
ben, j-pascal, c'est normal que tu sortes de la proc puisque tu n'as pas
d'erreur dans le chemin de ton bureau ; tu tombes forcément dans le Exit
Sub
pour en avoir le coeur net, écris un faux chemin et tu vas bien vois the
result...
jps
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
eAfgH5TAIHA.4844@TK2MSFTNGP02.phx.gbl...
Bonsoir,
Il me semble que tout marchait parfaitement lorsque tu m'avais proposé
ce code la première fois, et là ??
Je viens de faire un essai chez moi avec :
'-----------------------
On Error GoTo rRr
ChDir "C:Documents and Settingsjean-pascalBureau" 'jean-pascal
ou toto au boulot ...
Exit Sub
rRr:
ChDir "C:Documents and Settings"
'-----------------------
Chez moi, mon bureau correspond bien à "C:Documents and
Settingsjean-pascalBureau"
et pourtant, si j'exécute le code, je sors !! (Exit Sub) !!!
Je ne comprends pas ;-(
@+ ?
JP
"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news: eRxHqhTAIHA.748@TK2MSFTNGP04.phx.gbl...
Bonsoir,
Il semble qu'il manque une sortie avant la gestion d'erreur :
ChDir "C:Documents and SettingstotoBureau"
exit sub
rRr:
ChDir "C:Documents and Settings"
--
http://www.excelabo.net/mpfe/connexion.php
Avec plaisir
Philippe.R
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de
news:uR0S7gSAIHA.4828@TK2MSFTNGP04.phx.gbl...
Bonjour,
Un truc que je ne comprends pas dans ce qui suit :
'------------------------
(...proc ...)
'ChDrive "C"
On Error GoTo rRr
ChDir "C:Documents and SettingstotoBureau"
rRr:
ChDir "C:Documents and Settings"
'------------------------
Dans mon test, le répertoire "C:Documents and SettingstotoBureau"
existe et pourtant je me retrouve inéxorablement sur "C:Documents
and Settings" !!
Le 'ChDrive "C" est-il indispensable ?
Les procédures événementielles peuvent-elles être responsables de ce
dysfonctionnement ?
Par ailleurs, 'On Error Resume Next ' n'aurait-il pas le même usage ?
Merci d'avance pour vos lumières,
Cordialement,
JP
Bonsoir Jean-Pascal,
Tu n'as pas besoin du rR2, comme ceci :
On Error GoTo rRr
ChDir "C:Documents and Settingsjean-pascalBureau"
nomFichier = Application.GetOpenFilename(typeFichier, , Titre)
'éventuellement encore d'autres choses que tu as à faire exécuter...
exit sub
rRr:
ChDir "C:Documents and Settings"
En principe, on place la gestion d'erreurs en fin de procédure et on donne
l'instruction de sortie juste avant, de manière à ce que les instructions
correspondant aux erreurs gérées ne soient exécutées que si on l'a
demandé.
--
http://www.excelabo.net/mpfe/connexion.php
Avec plaisir
Philippe.R
"j-pascal" a écrit dans le message de
news:uAO$Finalement j'opte pour ceci, qui semble fonctionner :
'--------------------
On Error GoTo rRr
ChDir "C:Documents and Settingsjean-pascalBureau"
GoTo rRr2
rRr:
ChDir "C:Documents and Settings"
rRr2:
nomFichier = Application.GetOpenFilename(typeFichier, , Titre)
'--------------------
Ce n'est sûrement pas terrible mais je n'ai trouvé que ça ;-(
@+ ?
JP
"jps" a écrit dans le message de news:ben, j-pascal, c'est normal que tu sortes de la proc puisque tu n'as pas
d'erreur dans le chemin de ton bureau ; tu tombes forcément dans le Exit
Sub
pour en avoir le coeur net, écris un faux chemin et tu vas bien vois the
result...
jps
"j-pascal" a écrit dans le message de news:Bonsoir,
Il me semble que tout marchait parfaitement lorsque tu m'avais proposé
ce code la première fois, et là ??
Je viens de faire un essai chez moi avec :
'-----------------------
On Error GoTo rRr
ChDir "C:Documents and Settingsjean-pascalBureau" 'jean-pascal
ou toto au boulot ...
Exit Sub
rRr:
ChDir "C:Documents and Settings"
'-----------------------
Chez moi, mon bureau correspond bien à "C:Documents and
Settingsjean-pascalBureau"
et pourtant, si j'exécute le code, je sors !! (Exit Sub) !!!
Je ne comprends pas ;-(
@+ ?
JP
"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de
news:Bonsoir,
Il semble qu'il manque une sortie avant la gestion d'erreur :
ChDir "C:Documents and SettingstotoBureau"
exit sub
rRr:
ChDir "C:Documents and Settings"
--
http://www.excelabo.net/mpfe/connexion.php
Avec plaisir
Philippe.R
"j-pascal" a écrit dans le message de
news:Bonjour,
Un truc que je ne comprends pas dans ce qui suit :
'------------------------
(...proc ...)
'ChDrive "C"
On Error GoTo rRr
ChDir "C:Documents and SettingstotoBureau"
rRr:
ChDir "C:Documents and Settings"
'------------------------
Dans mon test, le répertoire "C:Documents and SettingstotoBureau"
existe et pourtant je me retrouve inéxorablement sur "C:Documents
and Settings" !!
Le 'ChDrive "C" est-il indispensable ?
Les procédures événementielles peuvent-elles être responsables de ce
dysfonctionnement ?
Par ailleurs, 'On Error Resume Next ' n'aurait-il pas le même usage ?
Merci d'avance pour vos lumières,
Cordialement,
JP
'------------------------
(...proc ...)
'ChDrive "C"
On Error GoTo rRr
ChDir "C:Documents and SettingstotoBureau"
rRr:
ChDir "C:Documents and Settings"
'------------------------
Le fait d'écrire "On Error Goto rRr signifie seulement que
si un problème survient avec la procédure, au lien de se planter
la procédure continuera à la ligne de l'étiquette rRr.
Cependant, si aucune erreur n'est relevé, toutes les lignes de code
seront exécutées y compris la ligne en cas d'erreur. Résultat : Tu te
retrouve dans le répertoire : ChDir "C:Documents and Settings"
Pour éviter cela, il est possible de faire ceci :
'------------------------------
On Error Resume Next
If Dir("C:Documents and SettingstotoBureau", vbDirectory) <> "" Then
ChDir "C:Documents and SettingstotoBureau"
Else
ChDir "C:Documents and Settings"
End If
If Err <> 0 Then
Err = 0
MsgBox "Aucun des répertoires n'existe."
Exit Sub ' met fin à la procédure
' ou l'action que tu veux exécuter si problème
End If
'Le reste de ton code...
'------------------------------
'------------------------
(...proc ...)
'ChDrive "C"
On Error GoTo rRr
ChDir "C:Documents and SettingstotoBureau"
rRr:
ChDir "C:Documents and Settings"
'------------------------
Le fait d'écrire "On Error Goto rRr signifie seulement que
si un problème survient avec la procédure, au lien de se planter
la procédure continuera à la ligne de l'étiquette rRr.
Cependant, si aucune erreur n'est relevé, toutes les lignes de code
seront exécutées y compris la ligne en cas d'erreur. Résultat : Tu te
retrouve dans le répertoire : ChDir "C:Documents and Settings"
Pour éviter cela, il est possible de faire ceci :
'------------------------------
On Error Resume Next
If Dir("C:Documents and SettingstotoBureau", vbDirectory) <> "" Then
ChDir "C:Documents and SettingstotoBureau"
Else
ChDir "C:Documents and Settings"
End If
If Err <> 0 Then
Err = 0
MsgBox "Aucun des répertoires n'existe."
Exit Sub ' met fin à la procédure
' ou l'action que tu veux exécuter si problème
End If
'Le reste de ton code...
'------------------------------
'------------------------
(...proc ...)
'ChDrive "C"
On Error GoTo rRr
ChDir "C:Documents and SettingstotoBureau"
rRr:
ChDir "C:Documents and Settings"
'------------------------
Le fait d'écrire "On Error Goto rRr signifie seulement que
si un problème survient avec la procédure, au lien de se planter
la procédure continuera à la ligne de l'étiquette rRr.
Cependant, si aucune erreur n'est relevé, toutes les lignes de code
seront exécutées y compris la ligne en cas d'erreur. Résultat : Tu te
retrouve dans le répertoire : ChDir "C:Documents and Settings"
Pour éviter cela, il est possible de faire ceci :
'------------------------------
On Error Resume Next
If Dir("C:Documents and SettingstotoBureau", vbDirectory) <> "" Then
ChDir "C:Documents and SettingstotoBureau"
Else
ChDir "C:Documents and Settings"
End If
If Err <> 0 Then
Err = 0
MsgBox "Aucun des répertoires n'existe."
Exit Sub ' met fin à la procédure
' ou l'action que tu veux exécuter si problème
End If
'Le reste de ton code...
'------------------------------
| J'ai remplacé ton "Err" par "Error" ;-)
Surtout pas, Dans VBA, il y a un objet qui s'appelle Err.
par défaut, sa propriété est Number
Test ceci :
Sub test()
On Error Resume Next
Set k = Workbooks("x")
MsgBox Err
'Ou la même chose
Msgbox Err.Number
End Sub
Donc, à la sortie du If ... Else... end if
Si Err.number <> 0 ou Err <> 0 donc il y a eu une erreur
ERROR N'A RIEN À VOIR AVEC ERR
"j-pascal" a écrit dans le message de news:
Bonsoir,
Comme je viens de le dire à Daniel.C pour un autre sujet, ta réponse a
illuminé ma journée !!
La joie de trouver une solution est assurément proportionnelle aux doutes
et
aux moments de solitude qu'on traverse pour arriver jusque là !
Merci ++++++++++++++++++++++++
PS : je n'ai pas pu tester jusqu'au bout, le code "If Err <> 0 Then ..."
mais je vais m'y remettre. J'ai remplacé ton "Err" par "Error" ;-)
PS : ce qui me console, c'est que la solution n'était apparemment pas si
aisée ...
JP
"MichDenis" a écrit dans le message de news:'------------------------
(...proc ...)
'ChDrive "C"
On Error GoTo rRr
ChDir "C:Documents and SettingstotoBureau"
rRr:
ChDir "C:Documents and Settings"
'------------------------
Le fait d'écrire "On Error Goto rRr signifie seulement que
si un problème survient avec la procédure, au lien de se planter
la procédure continuera à la ligne de l'étiquette rRr.
Cependant, si aucune erreur n'est relevé, toutes les lignes de code
seront exécutées y compris la ligne en cas d'erreur. Résultat : Tu te
retrouve dans le répertoire : ChDir "C:Documents and Settings"
Pour éviter cela, il est possible de faire ceci :
'------------------------------
On Error Resume Next
If Dir("C:Documents and SettingstotoBureau", vbDirectory) <> "" Then
ChDir "C:Documents and SettingstotoBureau"
Else
ChDir "C:Documents and Settings"
End If
If Err <> 0 Then
Err = 0
MsgBox "Aucun des répertoires n'existe."
Exit Sub ' met fin à la procédure
' ou l'action que tu veux exécuter si problème
End If
'Le reste de ton code...
'------------------------------
| J'ai remplacé ton "Err" par "Error" ;-)
Surtout pas, Dans VBA, il y a un objet qui s'appelle Err.
par défaut, sa propriété est Number
Test ceci :
Sub test()
On Error Resume Next
Set k = Workbooks("x")
MsgBox Err
'Ou la même chose
Msgbox Err.Number
End Sub
Donc, à la sortie du If ... Else... end if
Si Err.number <> 0 ou Err <> 0 donc il y a eu une erreur
ERROR N'A RIEN À VOIR AVEC ERR
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
uMHUkChAIHA.464@TK2MSFTNGP02.phx.gbl...
Bonsoir,
Comme je viens de le dire à Daniel.C pour un autre sujet, ta réponse a
illuminé ma journée !!
La joie de trouver une solution est assurément proportionnelle aux doutes
et
aux moments de solitude qu'on traverse pour arriver jusque là !
Merci ++++++++++++++++++++++++
PS : je n'ai pas pu tester jusqu'au bout, le code "If Err <> 0 Then ..."
mais je vais m'y remettre. J'ai remplacé ton "Err" par "Error" ;-)
PS : ce qui me console, c'est que la solution n'était apparemment pas si
aisée ...
JP
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
ekPWdJVAIHA.4844@TK2MSFTNGP02.phx.gbl...
'------------------------
(...proc ...)
'ChDrive "C"
On Error GoTo rRr
ChDir "C:Documents and SettingstotoBureau"
rRr:
ChDir "C:Documents and Settings"
'------------------------
Le fait d'écrire "On Error Goto rRr signifie seulement que
si un problème survient avec la procédure, au lien de se planter
la procédure continuera à la ligne de l'étiquette rRr.
Cependant, si aucune erreur n'est relevé, toutes les lignes de code
seront exécutées y compris la ligne en cas d'erreur. Résultat : Tu te
retrouve dans le répertoire : ChDir "C:Documents and Settings"
Pour éviter cela, il est possible de faire ceci :
'------------------------------
On Error Resume Next
If Dir("C:Documents and SettingstotoBureau", vbDirectory) <> "" Then
ChDir "C:Documents and SettingstotoBureau"
Else
ChDir "C:Documents and Settings"
End If
If Err <> 0 Then
Err = 0
MsgBox "Aucun des répertoires n'existe."
Exit Sub ' met fin à la procédure
' ou l'action que tu veux exécuter si problème
End If
'Le reste de ton code...
'------------------------------
| J'ai remplacé ton "Err" par "Error" ;-)
Surtout pas, Dans VBA, il y a un objet qui s'appelle Err.
par défaut, sa propriété est Number
Test ceci :
Sub test()
On Error Resume Next
Set k = Workbooks("x")
MsgBox Err
'Ou la même chose
Msgbox Err.Number
End Sub
Donc, à la sortie du If ... Else... end if
Si Err.number <> 0 ou Err <> 0 donc il y a eu une erreur
ERROR N'A RIEN À VOIR AVEC ERR
"j-pascal" a écrit dans le message de news:
Bonsoir,
Comme je viens de le dire à Daniel.C pour un autre sujet, ta réponse a
illuminé ma journée !!
La joie de trouver une solution est assurément proportionnelle aux doutes
et
aux moments de solitude qu'on traverse pour arriver jusque là !
Merci ++++++++++++++++++++++++
PS : je n'ai pas pu tester jusqu'au bout, le code "If Err <> 0 Then ..."
mais je vais m'y remettre. J'ai remplacé ton "Err" par "Error" ;-)
PS : ce qui me console, c'est que la solution n'était apparemment pas si
aisée ...
JP
"MichDenis" a écrit dans le message de news:'------------------------
(...proc ...)
'ChDrive "C"
On Error GoTo rRr
ChDir "C:Documents and SettingstotoBureau"
rRr:
ChDir "C:Documents and Settings"
'------------------------
Le fait d'écrire "On Error Goto rRr signifie seulement que
si un problème survient avec la procédure, au lien de se planter
la procédure continuera à la ligne de l'étiquette rRr.
Cependant, si aucune erreur n'est relevé, toutes les lignes de code
seront exécutées y compris la ligne en cas d'erreur. Résultat : Tu te
retrouve dans le répertoire : ChDir "C:Documents and Settings"
Pour éviter cela, il est possible de faire ceci :
'------------------------------
On Error Resume Next
If Dir("C:Documents and SettingstotoBureau", vbDirectory) <> "" Then
ChDir "C:Documents and SettingstotoBureau"
Else
ChDir "C:Documents and Settings"
End If
If Err <> 0 Then
Err = 0
MsgBox "Aucun des répertoires n'existe."
Exit Sub ' met fin à la procédure
' ou l'action que tu veux exécuter si problème
End If
'Le reste de ton code...
'------------------------------