Macro & Enregistrement

Résolu
Lentz -  
 Lentzouille -
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. cousinhub29 Messages postés 1114 Date d'inscription   Statut Membre Dernière intervention   380
     
    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. Lentz
       
      Jte remercie c'est nickel tout ça
      0
  2. Lentzouille
     
    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
  3. cousinhub29 Messages postés 1114 Date d'inscription   Statut Membre Dernière intervention   380
     
    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
  4. Lentzouille
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. cousinhub29 Messages postés 1114 Date d'inscription   Statut Membre Dernière intervention   380
     
    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. Lentzouille
       
      ç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. Lentzouille
       
      PS: je suis sous 2003
      0
  7. cousinhub29 Messages postés 1114 Date d'inscription   Statut Membre Dernière intervention   380
     
    Re-,

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

    Windows(Fich).Activate
    


    devrait le faire
    0
    1. Lentzouille
       
      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
  8. cousinhub29 Messages postés 1114 Date d'inscription   Statut Membre Dernière intervention   380
     
    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. Lentzouille
       
      Ok tout est nickel !!

      Je te remercie ! tu m'avance bcp !
      0