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 :

Je voudrais que la b dialog enregistrer sous s'ouvre dans un répertoire précis


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    employé banque
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé banque

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 22
    Points
    22
    Par défaut Je voudrais que la b dialog enregistrer sous s'ouvre dans un répertoire précis
    Bonjour à tous,
    Je n'arrive pas à coder l'ouverture de la boîte de dialogue enregistrer sous et qu'un répertoire défini soit selectionner.

    pas très malin encore en vba mais bon !

    voici ma macro, le path ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub save_htm()
     
    'ChDir "d:\Course\CLASSEMENT_ONLINE\RS\"
     
    Application.Dialogs(xlDialogSaveAs).Show
     
     
    End Sub

  2. #2
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonsoir Philou, bonsoir le forum,

    Si tu enlèves l'apostrophe devant ChDir, la ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ChDir "d:\Course\CLASSEMENT_ONLINE\RS\"
    ne sera plus considérée comme un commentaire et, si le chemin existe, ça marche... J'ai testé chez moi avec différents chemins.
    À plus,

    Thauthème

    Je suis Charlie

  3. #3
    Membre à l'essai
    Homme Profil pro
    employé banque
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé banque

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 22
    Points
    22
    Par défaut
    Merci pour ta réponse, mais j'avais bien sur fait les tests sans l'apostrophe, et chez moi ça ne marche pas.

    merci quand même

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Si le répertoire que tu pointes avec ton ChDir est sur un autre lecteur que le lecteur courant, il faut que tu commences par faire un ChDrive pour changer de disque.
    ChDir ne peut modifier que le répertoire, pas le disque.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour le fil, bonjour le forum,

    Il est bon de tomber sur des personnes qui ont un savoir monolithique. Merci Menhir ! Mes tests fonctionnaient car, évidement, je restais sur le même disque...
    À plus,

    Thauthème

    Je suis Charlie

  6. #6
    Membre à l'essai
    Homme Profil pro
    employé banque
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé banque

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 22
    Points
    22
    Par défaut
    Ca n'a pas l'air de fonctionner non plus !

    Mon logiciel excel est installé sur C: et le fichier que j'ouvre est sur D:

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par philou665 Voir le message
    Ca n'a pas l'air de fonctionner non plus !
    Une phrase comme ça, "lâchée lousse" après deux réponses ne veux absolument rien dire et ne donne aucune information aux lecteurs. Donc, tu as fait quoi qui ne fonctionne pas?

    Mon logiciel excel est installé sur C: et le fichier que j'ouvre est sur D:
    As-tu fait ce que Menhir a dit ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub save_htm()
         CHDrive "d:"
         ChDir "d:\Course\CLASSEMENT_ONLINE\RS\"
         Application.Dialogs(xlDialogSaveAs).Show
    End Sub
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  8. #8
    Membre à l'essai
    Homme Profil pro
    employé banque
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé banque

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 22
    Points
    22
    Par défaut
    oui bien sur mais ça ne fonctionne pas !

  9. #9
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour, bonjour !

    Ne pas utiliser alors cette boîte de dialogue !

    Conserver ChDrive & ChDir et utiliser la méthode GetSaveAsFilename (voir son aide et son exemple) …

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  10. #10
    Membre éprouvé Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Points : 973
    Points
    973
    Par défaut
    Bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub save_htm()
    Dim rep As String
    Dim Nom_Fichier As String
     
    rep = "d:\Course\CLASSEMENT_ONLINE\RS\"
    Nom_Fichier = ActiveWorkbook.Name
     
     Application.GetSaveAsFilename (rep & Nom_Fichier)
     
    End Sub
    nul besoin de CH
    cci renvoi dans le dossier concerné ci celui ci existe dans le repertoire, sans aucune faute.
    On peut s'affranchir des minuscule majuscule en ajoutant en entete de module option compare text

  11. #11
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par philou665 Voir le message
    Ca n'a pas l'air de fonctionner non plus !
    Citation Envoyé par clementmarcotte Voir le message
    Une phrase comme ça, "lâchée lousse" après deux réponses ne veux absolument rien dire et ne donne aucune information aux lecteurs. Donc, tu as fait quoi qui ne fonctionne pas?
    Citation Envoyé par philou665 Voir le message
    oui bien sur mais ça ne fonctionne pas !
    Tu es désespérant...
    Ca en devient presque risible.

    Qu'est-ce que tu as fait EXACTEMENT ?
    Quel était le résultat PRECISEMENT ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  12. #12
    Invité
    Invité(e)
    Par défaut
    bonjour,
    je me greffe sur ce poste et désolé pour ce qui a déjà été dit!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test()
    fileSaveName = Application.GetSaveAsFilename("C:\RepTest", fileFilter:="Excel Files (*.xls), *.xls")
    If fileSaveName = False Then MsgBox "Vous n'avez pas saisie le non du fichier cible", vbCritical, "ERR": Exit Sub
    ActiveWorkbook.SaveAs fileSaveName, xlExcel8
    End Sub

  13. #13
    Membre à l'essai
    Homme Profil pro
    employé banque
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé banque

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 22
    Points
    22
    Par défaut
    Merci Menhir, cela fonctionne, le répertoire est maintenant selectionné avec ta solution.

    Mais petit problème, je dois sauvegarder en fait la feuille active sous un format page web *.htm, *.html et cela je n'en ai pas la possibilité .

  14. #14
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par philou665 Voir le message
    Merci Menhir, cela fonctionne, le répertoire est maintenant selectionné avec ta solution.

    Mais petit problème, je dois sauvegarder en fait la feuille active sous un format page web *.htm, *.html et cela je n'en ai pas la possibilité .
    Tu t'arranges pour que ton classeur ne contienne que la feuille active. (À toi de voir si tu copies ou si tu déplaces ta feuille dans un nouveau classeur avant de procéder, et tu effaces toutes les feuilles autres que la feuille active.

    Pour t'aider, tu as les archives du forum, l'enregistreur de macros et le copier-coller.

    Ensuite, tu appliques la solution de Menhir à ton classeur à feuille unique et dans la boîte de dialogue, tu peux choisir entre le format html et le format mht. Si tu fais cela avec Excel 2010, tu as intérêt à ne pas dire que ces formats ne sont pas-là, parce que j'ai vérifié.

    S'ils n'y sont pas, tu vas devoir télécharger le "Office Compatibility Pack" sur le site de Microsoft. Ta Banque est sûrement assez riche pour te payer le temps que tu vas le chercher. Si ta Banque te bloque le chemin, pique une crise au service de Dictature informatique, ou à ton patron.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  15. #15
    Membre à l'essai
    Homme Profil pro
    employé banque
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé banque

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 22
    Points
    22
    Par défaut
    ok merci clément je vais faire cela

  16. #16
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    il arrive qu'une personne désirant apprendre et se former, nous dispense un certains nombre d’âneries!

    j'ai bien relue toute la discutions et je ne trouve pas ce qui justifie ces -1!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
    Dim fileSaveName
    fileSaveName = Application.GetSaveAsFilename("C:\RepTest\", fileFilter:="HTML Files (*.HTML), *.HTML")
    If fileSaveName = False Then MsgBox "Vous n'avez pas saisie le non du fichier cible", vbCritical, "ERR": Exit Sub
    SaveAsHtml ActiveWorkbook, "" & fileSaveName
    End Sub
     
    Sub SaveAsHtml(Wb As Workbook, Fichier As String)
        wb.SaveAs Filename:=Fichier, _
            FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False
    End Sub
    Dernière modification par Invité ; 12/10/2014 à 16h49.

  17. #17
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par philou665 Voir le message
    Mais petit problème, je dois sauvegarder en fait la feuille active sous un format page web *.htm, *.html et cela je n'en ai pas la possibilité .
    Il me semble que ce besoin de sauvegarder en HTML n'a pas été mentionné dans la question initiale.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  18. #18
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Bonjour,

    Une alternative:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
      Dim fd As FileDialog
      Set fd = Application.FileDialog(msoFileDialogSaveAs)
      With fd
        .FilterIndex = 5 ' Page web. Index valide pour Excel 2003
        .InitialFileName = "C:\Documents and Settings\Alain\Mes documents\Excel\"
        .Show
      End With
      Set fd = Nothing
    End Sub
    Rechercher le bon FilterIndex pour la version utilisée.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  19. #19
    Membre à l'essai
    Homme Profil pro
    employé banque
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé banque

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 22
    Points
    22
    Par défaut
    Merci rdurupt,

    C'est presque ce que je veux, à savoir, seul les fichiers html peuvent être sélectionner. Dans mon application les fichiers htm peuvent aussi être sélectionner.

    Il faudrait donc "html, htm" comme dans la boîte excel.

    Secundo, voir apparaître dans la boîte de dialogue (selection feuille ou classeur entier) ainsi que le bouton Publier.

    Grand merci à vous

  20. #20
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Code UserForm : 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
    Private Sub CommandButton2_Click()
    SaveAsHtml ActiveWorkbook, Me.TextBox1, Me.CheckBox1.Value, Me.ComboBox1
    Unload Me
    End Sub
     
    Private Sub Image1_Click()
    Dim fileSaveName
    fileSaveName = Application.GetSaveAsFilename("C:\RepTest\", fileFilter:="Fichier HTM  (*.HTM), *.HTM,Fichier HTML  (*.HTML), *.HTML")
    If fileSaveName = False Then MsgBox "Vous n'avez pas saisie le non du fichier cible", vbCritical, "ERR": Exit Sub
    Me.TextBox1 = fileSaveName
    End Sub
     
    Private Sub UserForm_Click()
     
    End Sub
     
    Private Sub UserForm_Initialize()
    For i = 1 To Sheets.Count
    Me.ComboBox1.AddItem Sheets(i).Name
    Next
    End Sub
    Code Module1 : 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 test()
    UserForm1.Show
    End Sub
     
    Sub SaveAsHtml(Wb As Workbook, Fichier As String, Tout As Boolean, Feulle As String)
       If Tout = True Then
            Wb.SaveAs Filename:=Fichier, _
                FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False
      Else
     
            With Wb.PublishObjects.Add(xlSourceSheet, _
                 Fichier, Feulle, "", xlHtmlStatic, "", "")
            .Publish (True)
            .AutoRepublish = False
              End With
    End If
    End Sub
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Enregistrer sous - nom fichier dans cellule
    Par tom0ne dans le forum Excel
    Réponses: 3
    Dernier message: 26/08/2013, 23h03
  2. Enregistrer sous - nom fichier dans cellule
    Par tom0ne dans le forum Word
    Réponses: 2
    Dernier message: 25/08/2013, 01h07
  3. Dialogs Enregistrer sous
    Par zemeilleurofgreg dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/02/2012, 21h31
  4. Réponses: 1
    Dernier message: 08/04/2010, 21h33
  5. Réponses: 3
    Dernier message: 28/04/2009, 20h12

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