problème de double quote ?

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 !

gvives

XLDnaute Occasionnel
Bonjour à tous,

J'ai écris un code VBA me permettant de supprimer un dossier dont le chemin est définis grâce à des cellules. Lors de l'exécution de ce code une demande de débogage se lance et la ligne 6 est surlignée en jaune.

Pourriez vous me donner votre avis sur ce code (je pense que le problème provient des guillemets)...

Merci beaucoup par avance...

1. Sub supprimer()
2. If MsgBox("Etes vous sûr de vouloir supprimer ce dossier ?", vbYesNo + vbInformation, _
3. "Attention") = vbYes Then
4. Dim FS
5. Set FS = CreateObject("Scripting.FileSystemObject")
6. FS.Deletefolder "c:\documents\" & ActiveSheet.Range("$A$2") & "\" & ActiveSheet.Range("$A$3") & "\" & ActiveSheet.Range("$A$4") & "\" & ActiveSheet.Range("$A$1") & "\"
7. Else
8. End If
9. End Sub
 
Re : problème de double quote ?

En général le dossier 'Mes documents' s'appelle "Documents and settings"

Quoique tu aies dans les cellules $A$1 et suivantes, si tu demandes à XL de chercher un objet défini par :
"c:\documents\2eme cellule\3eme cellule\4ème cellule\1ère cellule\"

et que cet objet soit à l'adresse suivante
"C:\Documents and settings\2eme cellule\3eme cellule\4ème cellule\1ère cellule\"

il ne faut pas s'attendre à des miracles...

Bien à toi

Renaud
 
Re : problème de double quote ?

Bonjour Gvives,

Bon , le répertoire mes documents comme certains autre , le bureau par exemple, sont des répertoires spéciaux, leur nom est évolutif en fonction de l'utilisateur.
Voici donc comment procéder, A oui , je te propose d'utiliser RMDIR pour effacer le dossier

Code:
 Sub supprimer()
 Dim Chemin As String
 Dim NomRep As String
 Dim WshShell As Object
    
  If MsgBox("Etes vous sûr de vouloir supprimer ce dossier ?", vbYesNo + vbInformation, _
     "Attention") = vbYes Then
     Set WshShell = CreateObject("WScript.Shell")
     NomRep = WshShell.SpecialFolders("MyDocuments")
     With ActiveSheet
      Chemin = NomRep & "\" & .Range("$A$2") & "\" & .Range("$A$3") & "\" & .Range("$A$4") & "\" & .Range("$A$1")
     End With
    Set WshShell = Nothing
    RmDir Chemin
  End If
End Sub
 
Re : problème de double quote ?

Bonjour le fil,

Peut-être plus simplement (et plus complètement) :

Code:
Sub supprimer()
Dim chemin As String
If MsgBox("Etes-vous sûr de vouloir supprimer ce dossier ?", 4, "Attention") = 7 Then Exit Sub
chemin = "C:\documents\" & [A2] & "\" & [A3] & "\" & [A4] & "\" & [A1]
On Error Resume Next
RmDir chemin
If Err Then MsgBox "L'opération a échoué !", 48
End Sub
A+
 
Re : problème de double quote ?

Re camarchepas 🙂

Mais il faut rendre la main à la gestion d'erreur ensuite

on error goto 0, sinon c'est la débacle

Pourquoi pas, mais s'il n'y a rien après (comme dans ma macro) c'est inutile.

Et le mes documents ne marche jamais directement comme cela ..

Rien n'empêche de mettre dans le lecteur C: un dossier nommé "documents" comme indiqué au post #1.

S'il s'appelle autrement eh bien mettre le nom correct, il n'y a pas à se casser la tête là-dessus 🙂

A+
 
- 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
5
Affichages
909
Retour