Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dim.Reichart

XLDnaute Occasionnel
Bonsoir, ou re,
J'ai (encore) un petit souci avec ma macro.
Le but est de vérifier si un sous-dossier existe, et si non, de le créer.
VB:
Option Explicit
Sub test()

Dim d As String
d = ThisWorkbook.Path & "\" & Range("a1")

    If Len(Dir(d & "\" & Range("m6"), vbDirectory)) Then MkDir (d)
    End If
   
End Sub
Le débogueur donne une erreur "end if sans bloc if", pourtant, le bloc if est reconnu et mis en couleur.
Afin de m'assurer de la syntaxe des sous fonctions, je les ai testé indépendamment.
Len(Dir()) remonte bien une donnée 0 ou 1 selon que le fichier existe ou pas et MKdir() crée correctement le dossier.
L'aide sur la fonction ne m'apporte pas de précision, j'ai aussi essayé d'ajouter un else, mais dans ce cas, j'obtiens l'erreur "else sans bloc if".
J'utilise If ailleurs, et à priori, je n'ai pas ce problème (bien qu'il puisse apparaitre plus tard).
Si vous avez une explication, ça m'interesse.
Merci d'avance.
 
Dernière édition:
Bonjour,

Dans ce genre de cas, en ce qui me concerne, je fais un
VB:
On error resume next
MkDir (d)
On error goto 0

C'est à dire que je ne m'occupe même pas de savoir s'il existe déjà: je le crée et s'il existe déjà le on error resume next evite l'erreur.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
182
Réponses
2
Affichages
538
Réponses
32
Affichages
2 K
Retour