Macro & Enregistrement

Résolu
Bonjour,

Je cherche a faire une macro qui me permettrai d'avoir le 'pop-up' de "Enregistrer sous" après a mwa de décider le nom de l'enregistrement ainsi que l'emplacement,

Cordialement,

7 réponses

  1. Bonjour,

    Un code de Mytå, pour Excel 2007 :

    Sub Utilisation_FileDialog_Sauvegarde()
    Dim objSaveBox As FileDialog
    
    'Définit la fenêtre "Enregistrer sous"
    Set objSaveBox = Application.FileDialog(msoFileDialogSaveAs)
    
    With objSaveBox
    'Définit un nom par défaut dans le champ "Nom de fichier".
    .InitialFileName = "Nom fichier.xlsm"
    
    'Définit le type de fichier par défaut:
    .FilterIndex = 2 'Fichier xlsm
    
    'Affiche la boîte de dialogue
    .Show
    'Enregistre
    .Execute
    End With
    
    End Sub
    


    Pour 2003, remplacer le 2 par 1, pour le FilterIndex

    Bonne journée
    1
    1. Jte remercie c'est nickel tout ça
      0
  2. Juste une autre question

    Comment je fais après dans ma macro pour dire que (par exemple)

    Windows("Mars.xls").Select

    Comment changer ce mars.xls en fonction du nom d'enregistrement que je veux faire ?

    Merci !
    0
    1. Bonjour,

      Comme tu travailles sur le classeur actif, en fin de code, tu peux récupérer le nom du fichier ainsi :

      Fich = ActiveWorkbook.Name
      
      0
      1. Non justement je travaille pas sur le fichier actif,

        J'ouvre une nouvelle page

        Puis je fais intervenir la macro du enregistrer sous

        et apres je fais du C/C entre les nouvelles page
        0
        1. Re-,

          Juste avant le .Execute, tu peux récupérer le nom que tu as donné comme ceci :

           If .SelectedItems.Count > 0 Then
           Fich = Right(.SelectedItems(1), Len(.SelectedItems(1)) - InStrRev(.SelectedItems(1), "\"))
          End If
          


          Bon courage
          0
          1. ça ne fait rien

            mais ce que je souhaite c'est pour la suite de la macro que quand je fais

            Windows("nom du fichier.xls").Activate

            le nom du fichier soit remplacé par le nom auquel je viens d'enregistrer
            0
          2. PS: je suis sous 2003
            0
        2. Re-,

          Tu as récupéré par ce code le nom du fichier (Fich)

          Windows(Fich).Activate
          


          devrait le faire
          0
          1. Merci nickel :)

            Dernière chose :)

            On va dire que Fich c'est le nouveau fichier

            et pour l'ancien comment je peux le remplacer ?

            Car là j'ai

            Windows("Février.xls").Activate

            ça m'évitera de changé ça tous les mois pour qu'il soit entièrement automatisé :)
            0
        3. Re-,

          Il te suffit de déclarer le fichier actif en variable

          Un code tel que :

          Dim ThWbk As Workbook
          Set ThWbk = ThisWorkbook
          ThWbk.Activate
          


          Devrait le faire.

          Bon courage
          0
          1. Ok tout est nickel !!

            Je te remercie ! tu m'avance bcp !
            0