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 :

Enregistrement d'un classeur dans un répertoire [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Etudiant en Génie Civil
    Inscrit en
    Février 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en Génie Civil
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Enregistrement d'un classeur dans un répertoire
    Bonjour,

    J'aimerais enregistrer un classeur dans un répertoire donné en cliquant sur le bouton ok de mon userform.

    Pour cela j'ai utilisé le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SaveAs Filename:="D:\DATA\v.beguin\Documents\PTI\Test enregistrement de données" & Nom_fichier
    Je n'ai aucun beugue mais je n'ai aucun enregistrement dans mon répertoire.
    De plus étant donné que le nom du fichier peut varier, j'aimerais si c'est possible que la variable Nom_fichier prenne la valeur d'un de mes TextBox (Name = TbProjet1) de mon userform.

    Notal : A la création d'un nouveau projet, un nouveau classeur s'ouvre et s'active

    Nom : userform 3.png
Affichages : 169
Taille : 13,4 Ko

    Merci par avance pour votre aide

    Cordialement

  2. #2
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Bonjour loucinev,

    1) ActiveWorkbook.SaveAs Filename:="D:\DATA\v.beguin\Documents\PTI\Test enregistrement de données\" & Nom_fichier. Ca devrait mieux marcher comme ça. =)
    2) Simplement comme ceci, j'imagine : Nom_fichier = TbProjet1.Value.

    N'hésite pas à revenir vers moi !

    Cordialement,
    Kimy

  3. #3
    Membre à l'essai
    Femme Profil pro
    Etudiant en Génie Civil
    Inscrit en
    Février 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en Génie Civil
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut code
    j'ai un problème ça ne marche toujours pas ... j'ai ce message qui apparait alors que le répertoire existe ...

    Nom : debogage.png
Affichages : 156
Taille : 19,3 Ko

  4. #4
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    loucinev,

    Je ne sais pas trop quoi te dire...
    As-tu vérifié les trois points mentionnés ?

    J'ai fait un test pour m'assurer que ça fonctionne chez moi. C'est effectivement fonctionnelle...

    Découpe tranquillement tes éléments pour savoir où ça bloque...
    1) Sauvegarde dans un répertoire local.
    2) Vérifie que tu peux coller un fichier dans le répertoire dans lequel tu veux placer le fichier.
    3) dans ta variable, place une String que tu set manuellement avant de passer par ta TextBox.

    N'hésite pas à revenir vers moi.

    Cordialement,
    Kimy

  5. #5
    Membre à l'essai
    Femme Profil pro
    Etudiant en Génie Civil
    Inscrit en
    Février 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en Génie Civil
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    alors je viens de modifier le chemin pour le simplifier, mon nouveau classeur excel se crée mais il ne prend pas le nom que j'ai donné dans ma textbox ...
    je vais continuer à chercher...

  6. #6
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    loucinev,

    Avec un UserForm tout simple : une TextBox et un CommandButton, j'effectue une sauvegarde sans soucis comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton1_Click()
    Dim Nom_fichier As String
     
    Nom_fichier = Me.TextBox1.Value
    ActiveWorkbook.SaveAs Filename:="C:\Users\...\Desktop\test\" & Nom_fichier
     
    End Sub
    N'hésite pas à me dire si tu rencontres des difficultés.

    Cordialement,
    Kimy

  7. #7
    Membre à l'essai
    Femme Profil pro
    Etudiant en Génie Civil
    Inscrit en
    Février 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en Génie Civil
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Alors j'ai fait les modifications que vous m'avez conseiller de faire, tout marche mais il y a juste une petite confusion ...
    Ce n'est pas mon nouveau classeur qui prend est enregistré avec la valeur de ma textBox , c'est mon classeur déja ouvert ou se trouve tout mon programme :/ j'ai du faire une erreur

    merci en tout cas

  8. #8
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut, qqs conseils supplémentaires : vérifier la validité des noms de fichiers via qqch comme ceci
    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
    Option Explicit
     
    Private Function NomFichierValide(sChaine As String) As Boolean
    Dim i As Long
    Const CaracInterdits As String = """*/:<>?[\]|"
        NomFichierValide = True
        If Len(sChaine) = 0 Then
            NomFichierValide = False
            Exit Function
        End If
        For i = 1 To Len(CaracInterdits)
            If InStr(sChaine, Mid$(CaracInterdits, i, 1)) > 0 Then
                NomFichierValide = False
                Exit Function
            End If
        Next i
    End Function
    Créer s'il n'existe pas le dossier via :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Explicit
     
    Private Sub CreationDossier()
    Dim FSO As Object, sDossier As String
        Set FSO = CreateObject("Scripting.FileSystemObject")
        sDossier = ThisWorkbook.Path & "\" & "Essai"
        If Not FSO.FolderExists(sDossier) Then FSO.CreateFolder (sDossier)
        Set FSO = Nothing
    End Sub

  9. #9
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Citation Envoyé par loucinev Voir le message
    Alors j'ai fait les modifications que vous m'avez conseiller de faire, tout marche mais il y a juste une petite confusion ...
    Ce n'est pas mon nouveau classeur qui prend est enregistré avec la valeur de ma textBox , c'est mon classeur déja ouvert ou se trouve tout mon programme :/ j'ai du faire une erreur

    merci en tout cas
    C'est assez simple, tu utilises "ActiveWorkbook". C'est le classeur donc courant.
    Si tu veux que ce soit un autre classeur, passe par la méthode Workbooks("Le nom de mon classeur")....

    Cordialement,
    Kimy

  10. #10
    Membre à l'essai
    Femme Profil pro
    Etudiant en Génie Civil
    Inscrit en
    Février 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant en Génie Civil
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Merci
    Merci beaucoup pour toutes ces réponses, je vais tester cela dès à présent et je vous dirais le résultat

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

Discussions similaires

  1. Intégrer une image HTML enregistrée autre part que dans un répertoire du projet
    Par bilbonec dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/11/2012, 16h11
  2. Réponses: 1
    Dernier message: 08/04/2010, 20h33
  3. parcours des classeurs dans un répertoire
    Par nsqualli dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/11/2008, 06h15
  4. Enregistrer un classeur dans un répertoire sans indiquer le chemin
    Par Maluje dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/08/2008, 18h15
  5. Sauvegarder un classeur dans un répertoire utilisateur (variable)
    Par Zak Blayde dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/05/2008, 13h59

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