Supprimer un dossier variable

zapp56 -  
 zapp56 -
Bonjour,

Je travaille sur VBA-Excel et j'ai un paramètre qui permet aux utilisateurs de l'application de définir le dossier d'enregistrement de ma base de données.
Le chemin d'accès peut être un dossier simple ou un dossier contenant des sous-dossiers, et dont le(s) nom(s) sont également définis par l'utilisateur.
Autrement dit, je peux avoir :
"c:\placard\base.xls"
Comme je peux avoir :
"c:\Turlututu\Chapeau\Pointu\base.xls"

J'ai réussi à déplacer le fichier "base.xls", et je souhaite donc supprimer le dossier "racine" ("c:\Turlututu\") ainsi que tous les sous-répertoires.
J'ai entendu parler des API et du Runtime Scripting mais je ne sais pas les faire fonctionner. De plus, je ne suis pas sûr que tous mes utilisateurs aient cette lib sur leur système.
Y aurait-il un moyen plus simple de détecter le dossier racine et de le supprimer ? Merci d'avance.

1 réponse

  1. Utilisateur anonyme
     
    Bonjour,

    si j'ai bien compris, une fois que tu as déplacé le fichier base.xls
    de "c:\Turlututu\Chapeau\Pointu\base.xls" vers "c:\placard\base.xls" tu veux supprimer "c:\Turlututu\"?

    Si c'est bien cela, pour le déplacement du dois avoir 2 string qui contiennent les 2 chemins.
    Pour celle qui contient le chemin d'origine, tu fait une recherche de la position du deuxième \ Instr et ensuite tu coupes ce string à l'index en question avec Left par exemple.
    0
    1. zapp56
       
      Merci de ta réponse. Alors effectivement, j'ai bien deux chemins :
      :: prevpath, le chemin à supprimer
      :: foldpath, le nouveau chemin

      Pardonnez mon idiotie, mais je n'ai jamais compris comment utiliser les fonctions de chaînes. Un petit exemple rapide s'il vous plaît ?
      0
      1. Utilisateur anonyme > zapp56
         
        Un exemple y'en a un à chacune des pages que je t'ai données....
        0
      2. Utilisateur anonyme > Utilisateur anonyme
         
        Allé je suis sympa ce soir
            Dim texte As String
            texte = "Texte ou je vais chercher le caractère  \ mais pas le premier le deuxième qui est là \, voilà."
            
            Dim index As String
            index = InStr(texte, "\")
            Dim index2 As String
            index2 = InStr(index + 1, texte, "\")
            
            Dim texteAvantSlash As String
            texteAvantSlash = Left(texte, index2 - 1)
        
        0
    2. zapp56
       
      Ok je comprends mieux. Merci :)
      0