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 :

Chemin paramétré en fonction d'une cellule [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : bricoleur

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Par défaut Chemin paramétré en fonction d'une cellule
    Bonjour à tous,
    j'ai besoin de copier certains fichiers, donc la liste est sur ma feuille, qui sont contenu dans un répertoire vers un autre répertoire. J'ai donc écrit ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Transfert()
        Dim C As Range, source As String, Desti As String
        source = "X:\scolaire\2020\Ecole1\commande\Photos HD\"
        Desti = "X:\scolaire\2020\Ecole1\commande\Pochette Fratrie\"
        For Each C In Range("A2", Cells(Rows.Count, 1).End(xlUp))
            If Dir(source & C.Value) <> "" Then
                FileCopy source & C.Value, Desti & C.Value
            End If
        Next C
    End Sub
    Cela fonctionne bien, mais...
    Je souhaite avoir ma source et ma destination (Desti) qui soit en fonction d'une cellule, par exemple la cellule H4 (Source) et H6 (Desti), qui ont bien évidement pour valeur le même chemin
    J'ai donc remplacé mes 2 chemins et j'ai donc écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Transfert()
        Dim C As Range, source As String, Desti As String
        source = Range("H4").Value
        Desti = Range("H6").Value
        For Each C In Range("A2", Cells(Rows.Count, 1).End(xlUp))
            If Dir(source & C.Value) <> "" Then
                FileCopy source & C.Value, Desti & C.Value
            End If
        Next C
    End Sub
    Et la, ça ne marche pas... Pas d'erreur signalée mais pas de résultat non plus... Avez-vous une piste ?

    Merci :-)

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par imagins Voir le message
    Bonjour,

    Auriez-vous laissé les guillemets encadrants dans les cellules ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : bricoleur

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Par défaut
    Bonjour,
    merci pour votre réponse. Effectivement, non, je n'ai pas laissé les guillements.
    Par contre, si je les mets, j'ai une erreur sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Dir(source & C.Value) <> "" Then

  4. #4
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Hello,

    Justement, il ne faut pas laisser les guillemets.
    Le \ est-il bien présent en dernier caractère dans le chemin du dossier? Ainsi que l'extension dans le nom de fichier ?
    Les fichiers sont-ils bien existant dans le dossier source / pas déjà présent dans le dossier destination ?

    Faire tourner ta macro en pas à pas (F8) et vérifier tes variables pourrait aussi permettre d'identifier le souci.

    Bat,

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : bricoleur

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Par défaut
    Je viens de trouver le problème... Il manquait juste le \ à la fin du chemin.
    Merci à tous pour votre aide.

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

Discussions similaires

  1. [XL-2013] Créer un chemin d'accès fonction d'une cellule.
    Par Noooc dans le forum Excel
    Réponses: 16
    Dernier message: 29/07/2015, 10h41
  2. insérer une fonction dans une cellule par le code
    Par RemiT dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/09/2007, 17h15
  3. [Excel VBA]fonction dans une cellule qui modifie une autre cellule
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/01/2007, 18h43
  4. [VBA-E] Nom et couleur bouton fonction d'une cellule
    Par zouille dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/04/2006, 18h00
  5. Retrouver les valeurs des paramètres des fonctions d'une DLL
    Par Bernard Martineau dans le forum Langage
    Réponses: 6
    Dernier message: 08/11/2005, 11h42

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