Bonjour,
J'ai un soucis lors de l'exécution de mon code pour vérifier l'existence d'un fichier : il me renvoie des données fausses et ne fait pas ce que je lui demande.
J'ai regardé dans le FAQ pour rechercher comment coder pour vérifier l'existence d'un fichier (je m'en suis inspiré) mais mon code est un poil plus complexe et j'ai programmé qu'il s'active lors de l'ouverture du classeur.
Voici en gros ce que je lui demande : regarde si un fichier qui a le nom X dans le répertoir Y avec l'extension ".csv" existe et auquel cas active une macro.
(c'est pas sorcier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub Dim Nom as String nom = X If le fichier dans le répertoire Y avec pour nom X n'existe pas Then Remise à zéro des données de certaines cellules du fichier End If End sub)
Ce que j'ai codé :
Le problème est le suivant : lorsque je supprime manuellement le fichier X dans le répertoire Y, la macro me sort que le fichier existe toujours (la MsgBox me renvoie TrueX) ou il me met FalseX, mais ne force par RZ. En gros, elle fait rien de ce que je lui demande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Function FichierExiste(nom As String) As Boolean FichierExiste = Dir("\\Hornet\s_vpc\Catherine Sandrine\Activités Annexes Conseillers\CSV\") <> "" nom <> "" End Function Sub OuvDocRZ() Dim nom As String nom = Worksheets("Activités Annexes").Cells(2,1) & "_" & Worksheets("Activités Annexes").Cells(2,4) & "_" & Format(date,"ddmmyyyy") FichierExiste("\\Hornet\s_vpc\Catherine Sandrine\Activités Annexes Conseillers\CSV\" & nom & ".csv") If FichierExiste("\\Hornet\s_vpc\Catherine Sandrine\Activités Annexes Conseillers\CSV\" & nom & ".csv") = False Then RZ ' c'est un clearcontents de certaines cellules, lancé seul (sans ce protocole) il marche très bien End If MsgBox FichierExiste & nom 'juste pour voir les valeurs des variables End Sub![]()
. D'où viendrait le problème ...
Si vous avez des suggestions je serai ravi de les entendre.
Merci d'avoir lu mon poste et merci de votre aide.
François
Partager