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 d'acces avec Range


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Accompagnateur personnes handicapés
    Inscrit en
    Juillet 2016
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Accompagnateur personnes handicapés

    Informations forums :
    Inscription : Juillet 2016
    Messages : 111
    Par défaut chemin d'acces avec Range
    Bonjour, Meilleurs voeux,

    Je voudrais enregistrer une copie de ma feuille dans un chemin :Q:\commun\1. Foyer d'Hebergement - Equipe éducative\3. Résidents\NOMPRENOM

    Le NomPrenom est inscrit dans la cellule A2, je voudrais donc insérer Range("A2") dans la formule.

    Le fichier se nommera "Planning du mois de MOIS de NOMPRENOM.xls"
    avec NOMPRENOM dans A2 (range("A2")
    et MOIS dans B1 (range("B1")

    Ce code fonctionne si je prend en compte range("B1") mais pas avec range("A2) peut-être parcequ'il fait parti du chemin alors que Range("B1) fait parti du nom de fichier

    Pouvez vous m'aider svp.

    Je vous remercie

    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
    Private Sub CommandButton1_Click()
     
    Dim chemin As String, fichier As String
     
        chemin = ThisWorkbook.Path
        fichier = "Q:\commun\1. Foyer d'Hebergement - Equipe éducative\3. Résidents" & "\" & Range("A2") & "\" & "Planning du mois de " & Range("B1") & " de " & Range("A2") &".xls"
     
     
    MsgBox "Le planning de " & Range("A3") & " est prêt à être copié dans Commun\1. Foyer d'Hebergement - Equipe éducative\3. Résidents."
     
        ThisWorkbook.ActiveSheet.Copy
        ActiveWorkbook.SaveAs Filename:=fichier
     
     
    End Sub

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 169
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ce code fonctionne si je prend en compte range("B1") mais pas avec range("A2) peut-être parcequ'il fait parti du chemin alors que Range("B1) fait parti du nom de fichier
    Qu'est qui ne fonctionne pas ?
    Reçois-tu un message d'erreur ?
    Si oui lequel (numéro + message)
    N'est-ce tout simplement pas parce-que le sous répertoire défini par NomPrenom n'est pas créé ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre confirmé
    Homme Profil pro
    Accompagnateur personnes handicapés
    Inscrit en
    Juillet 2016
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Accompagnateur personnes handicapés

    Informations forums :
    Inscription : Juillet 2016
    Messages : 111
    Par défaut
    Ce code crée le fichier dans une nouvelle fenêtre mais ne l'enregistre pas (je dois l'enregistrer sous plus tard)
    Et J'ai ce message

    Microsoft Visual Basic
    Erreur d'exécution 1004
    La méthode 'Save As' de l'objet 'Workbook' a échoué
    Ce code marche avec cette version

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub CommandButton1_Click()
     
    Dim chemin As String, fichier As String
     
        fichier = "Q:\commun\1. Foyer d'Hebergement - Equipe éducative\3. Résidents" & "\" & "Planning repas de la Semaine " & Range("A2") & ".xls"
     
    MsgBox "Le planning de " & Range("A3") & " est prêt à être copié dans Commun\1. Foyer d'Hebergement - Equipe éducative\3. Résidents."
     
        ThisWorkbook.ActiveSheet.Copy
        ActiveWorkbook.SaveAs Filename:=fichier
     
    End Sub

    mais je voudrais préciser le sous dossier de Résidents qui se nomme par le NOMPRENOM du résident

  4. #4
    Membre confirmé
    Homme Profil pro
    Accompagnateur personnes handicapés
    Inscrit en
    Juillet 2016
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Accompagnateur personnes handicapés

    Informations forums :
    Inscription : Juillet 2016
    Messages : 111
    Par défaut
    J'ai trouvé le problème
    le sous dossier en question ets comme cet exemple : 5. Quentin BENO ou 4. Aurore DIV
    Quand je renomme le sous dossier 5Quentin BENO ou 4Aurore DIV
    cela fonctionne

    Je suis donc obligé de rennomer mes sous dossiers ?

    Merci

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

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