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 :

gestion dossier vba [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut gestion dossier vba
    Bonjour; je débute en vba et la je bloque sur un problème

    J'aimerai créer un bouton d'enregistrement de facture.

    il y a deux variable en fonction de ce qu'il y a dans les cellules.

    variable n°1 le dossier doit porter le nom se référant a la cellule "B8"
    variable n°2 le fichier doit porter le nom se référant a la cellule "D3 "et au format xlsx

    mon problème c'est que le dossier peut ne pas exister et il faut donc que le code le crée; l'autre soucis c'est que si le dossier existe il n'y a pas besoin de le créer.

    et la j'ai du mal.

    en gros, j'ai la commande activewoorkbook.saveas....

    après il me faut:
    si erreur 1004 alors créer le dossier au nom "B8" et enregistrer dans ce dossier au nom "D3"
    si pas d'erreur alors enregistrer au nom "D3"

    si quelqu'un peut m'aider.
    Merci

  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
    12 766
    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 : 12 766
    Points : 28 625
    Points
    28 625
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Une structure décisionnelle telle que If...Then...Else ou Select Case est faite pour cela.

    Un document pdf à lire (voir page 40) http://bidou.developpez.com/article/VBA/
    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 émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Bonjour

    Essaie de creer le dossier avant chaque sauvegarde.
    En utilisant "On Error Resume Next" au cas ou le dossier existait deja.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    On Error Resume Next
    MkDir dossier
    On Error GoTo 0
    activewoorkbook.SaveAs
    Cordialement

    Docmarti.

  4. #4
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Jai testé avec if else then...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Bouton3_Cliquer()
    Dim nom As String
        nom = Range("B8")
     
    If Dir("D:\Users\Renaud\jeremy\Facture\" & nom, vbDirectory) = "" Then
        MsgBox "ce repertoire n'existe pas"
    Else
        MsgBox "ce repertoire existe deja"
    End If
     
    End Sub
    ca me marque que le repertoire existe alors que non

    Edit autant pour moi; si la case B8 est vide forcement ca marche pas

  5. #5
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    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
    Sub Bouton3_Cliquer()
    Dim chemin As String
    Dim fichier As String
     
        chemin = "D:\Users\Renaud\jeremy\Facture" & "\" & Range("B8")
        fichier = Range("D3")
     
    If Dir(chemin, vbDirectory) = "" Then
        MkDir (chemin)
        MsgBox "le dossier client a été créé, relancer la sauvegarde"
    Else
        ActiveWorkbook.SaveAs (chemin & "\" & fichier)
     
    End If
     
     
    End Sub
    la creation du dossier fonctionne; j'ai le message comme quoi il faut rappuyer sur sauvegarde mais j'ai une erreur 1004
    la je bloque

    le debogage surligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    activeworkbook.saveas 'chemin & "\" & fichier)
    Edit :
    apparement c'est le format de la cellule qui deconne
    elle est en =aujourdhui() donc une date format 99/99/9999
    J'ai rentré le mot test a la place et le bouton fonctionne

    quelle est la formule pour laisser =aujourdhui() dans la cellule et que le fichier soit enregistré sans bugger?

    merci

  6. #6
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    apparement c'est le format de la cellule qui deconne
    elle est en =aujourdhui() donc une date format 99/99/9999
    Un nom de fichier ne saurait contenir le caractère "/", tout simplement.
    Formate donc autrement cette cellule et utilise sa propriété text plutôt que sa propriété value.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  7. #7
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    C'est bon ca fonctionne merci

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

Discussions similaires

  1. MCD gestion dossier de cooperation
    Par elhou80 dans le forum Modélisation
    Réponses: 2
    Dernier message: 03/04/2019, 14h09
  2. [XL-2003] copier dossier /vba
    Par olivier-tig dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/05/2009, 14h22
  3. [MySQL] Gestion dossier php/mysql
    Par Khleo dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 13/10/2008, 20h39
  4. Gestion en vba des fichiers excel en mode multiutilisateurs
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/12/2005, 16h06
  5. Question Basique Gestion Erreur VBA ...
    Par Le_Phasme dans le forum Access
    Réponses: 2
    Dernier message: 11/10/2005, 13h42

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