IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Supprimer un fichier avec un chemin relatif


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Points : 150
    Points
    150
    Par défaut Supprimer un fichier avec un chemin relatif
    Bonjour,
    je me permets de vous poser une question de base car tout les exemples que je voie utilsent les chemins absolu du type "c:\".

    En gros j'ai une commande qui marche très bien en chamin absolu mais il ne trouve pas le fichier avec un chemin relatif.

    : ça marche.

    Si le fichier se trouve dans un dossier nomé "test" côte côte avec le dossier parent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Kill "..\test\test.xls"
    : ça ne marche pas

    Si le fichier se trouve au même endroit que le fichier parent :
    : ça ne marche pas non plus

    Comment trouver le bon chemin qui soit transportable ?
    Merci de m'éclairer.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Bonjour,

    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Kill ThisWorkbook.Path & "\..\test\test.xls"

  3. #3
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Points : 150
    Points
    150
    Par défaut
    ça ne marche malheureusement pas. Toujours le même message : "Fichier introuvable"

  4. #4
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Citation Envoyé par Aquellito Voir le message
    Bonjour,
    je me permets de vous poser une question de base car tout les exemples que je voie utilsent les chemins absolu du type "c:\".

    En gros j'ai une commande qui marche très bien en chamin absolu mais il ne trouve pas le fichier avec un chemin relatif.

    : ça marche.

    Si le fichier se trouve dans un dossier nomé "test" côte côte avec le dossier parent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Kill "..\test\test.xls"
    : ça ne marche pas

    Si le fichier se trouve au même endroit que le fichier parent :
    : ça ne marche pas non plus

    Comment trouver le bon chemin qui soit transportable ?
    Merci de m'éclairer.
    Bonjour,
    désolé mais tu parles un peu chinois.

    Si tu veux effacer un fichier test.xls du même répertoire que le fichier excel ou ton code vba se trouve; il te faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Kill thisworkbook.path & "\test.xls"
    Si tu veux tuer ton fichier dans un répertoire frêre du fichier parent (je te laisse le soin de vérifier que fichier parent et frêre il y a ), tu peux faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    dim tablo as string
    dim frere as string
    tablo = split(thisworkbook.path, "\")
    frere = left(thisworkbook.path, len(thisworkbook.path) - len(tablo(ubound(tablo))) & "test"
     
    kill frere & "\test.xls"
    (Comme d'habitude ... pas testé)

  5. #5
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Points : 150
    Points
    150
    Par défaut
    Bah en fait je ne connais pas du tout le vba.
    Je m'occupe d'un intranet où je doit uploader un document excel. Ce document comporte des macros comportants des liens du type c:\.
    Il faut que ces liens pointent vers un dossier du serveur de production pour permettre de mettre à jours d'autres fichiers excel automatiquement.
    Mon problème n'est donc qu'un exemple parmis d'autres.

    Kill ThisWorkbook.Path & "\test.xls" ne marche pas. Je mets ci-dessous la macro pour être un peu plus dans le contexte.

    Merci à tous pour votre aide.

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    Sub ESSAI_nicolas()
    '
    Kill ThisWorkbook.Path & "\test_dvrou.xls"
     
    Workbooks.Open Filename:="\test.xls"
     
    ActiveWorkbook.SaveAs Filename:="\test_dvrou.xls"
     
    Sheets("dvrou").Name = "Feuil1"
    Sheets("euregm").Name = "Feuil2"
     
     
    Dim i As Integer
    Dim f As Variant
     
    For i = 1 To 2
     
    f = "Feuil" & i
    Sheets(f).Select
     
    If Range("A3").Value = "" Then
    Range("A3").Activate
    Else
    Range("A65536").End(xlUp).Offset(0, 0).Select
    Range("A3:N" & ActiveCell.Row).Select
    'Range("F3:P3").Activate
    'Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Range("A1").Activate
    Sheets("base").Select
    Range("A65536").End(xlUp).Offset(1, 0).Select
    Range("A" & ActiveCell.Row).Select
    Selection.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
     
    End If
     
    Next i
     
    'Range("A65536").End(xlUp).Offset(0, 0).Select
     
    If Range("A4").Value = "" Then
     
    Else
    Range("A65536").End(xlUp).Offset(0, 0).Select
    Range("A3:N" & ActiveCell.Row).Select
        Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
     
    End If
     
     
     
    Sheets("Feuil1").Name = "dvrou"
    Sheets("Feuil2").Name = "euregm"
     
    ActiveWorkbook.Save
    Windows("test_dvrou.xls").Activate
    Sheets("base").Select
    Range("A3").Select
     
    End Sub

  6. #6
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Points : 150
    Points
    150
    Par défaut
    bon bah toujours pas réussi avec un chemin relatif. Tant de prise de tête pour un truc si simple. Je suis maintentant allergique au vba ! En plus c'est moche comme synthaxe lol. bon bref j'ai résolu mon problème en mettant le chemin complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Kill ThisWorkbook.Path & "Monserveur\Mon_dossier_partage\test_dvrou.xls"
     
    Workbooks.Open Filename:="Monserveur\Mon_dossier_partage\test.xls"
     
    ActiveWorkbook.SaveAs Filename:="Monserveur\Mon_dossier_partage\test_dvrou.xls"
    Voilivoilou mes biquets !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Macro importer un fichier texte avec un chemin relatif
    Par oekoniko dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/04/2015, 17h31
  2. java,scala, web : écrire dans un fichier avec un chemin relatif
    Par olivier57b dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 04/04/2014, 20h27
  3. Fichier .properties et chemin relatif
    Par NoiBe dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2007, 15h38
  4. [Visual C++]probleme avec un chemin relatif
    Par bouba83 dans le forum MFC
    Réponses: 28
    Dernier message: 19/05/2006, 23h22
  5. [Fichier] Comment ecrire ds 1 fichier avec 1 chemin
    Par Radagast dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 05/04/2005, 14h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo