VBA - GetSaveAsFilename

Résolu
Submin Messages postés 463 Statut Membre -  
Submin Messages postés 463 Statut Membre -
Bonjour,

J'effectue une macro VBA dans le cadre de mon travail.

Le but est en fait d'enregistrer des documents pour chaques feuilles excels ouverte.

Du coup j'effectue un count pour savoir le nombre de feuille puis une boucle for

for i= 1 to nombredefeuille 

        fileNameSmall = "fichier & i & ".txt" 
        fileName = Application.GetSaveAsFilename(fileNameSmall, "Fichier texte (*.txt), *.txt") 
        If fileName <> False Then ActiveWorkbook.SaveAs fileName:=fileName, FileFormat:=xlText, CreateBackup:=False 
         
        Workbooks(fileNameSmall).Close savechanges:=False 

next i 


Le problème est quand j'ai une 50aine de feuille... le cadre de sauvegarde se réouvre à chaque fois et et je doit cliquer sur enregistrer.
J'aimerais que ce cadre de sauvegarde ne s'affiche pas en fait et que ça enregistre directement.
C'est la que j'ai besoin de vous car je n'arrive pas a trouver la petite partie de code qui me permettrait soit de permettre l'enregistrement automatique soit de simuler un appuie sur la touche "entrée"

Je vous remercie d'avance, j'espere avoir été assez clair sur mon problème sinon n'hésitez pas a me demander, je répondrais rapidement

3 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Sub test()
    Application.DisplayAlerts = True

    Sheets(1).Select
    fileNameSmall = "fichier1.txt"
    Filename = Application.GetSaveAsFilename(fileNameSmall, "Fichier texte (*.txt), *.txt")
    Chemin = Left(Filename, Len(Filename) - 12)
    Application.DisplayAlerts = False
    If Filename <> False Then
    ActiveWorkbook.SaveAs Filename:=Filename, FileFormat:=xlText, CreateBackup:=False
    End If
    For i = 2 To nombredefeuille
    Sheets(i).Select
    fileNameSmall = "fichier" & i & ".txt"
    Filename = Chemin & fileNameSmall
    ActiveWorkbook.SaveAs Filename:=Filename, FileFormat:=xlText, CreateBackup:=False
    Next i
    Application.DisplayAlerts = True
    End Sub

    C'est peut-etre un peu capilotracter, mais cela marche. A vous d'adapter suivant votre besoin

    Bonne suite
    1
    1. Submin Messages postés 463 Statut Membre 226
       
      J'ai juste envi de dire un grand merci....

      Tu as résolu un énorme problème de mon programme... Je l'ai bien evidement adapté ne t'inquiete pas car 'javais deja moi même donner un exemple simplifier pour bien comprendre mon problème.

      c'est principalement cette petite manip qui m'a rendu heureux :
      Chemin = Left(Filename, Len(Filename) - 12)
      Filename = Chemin & fileNameSmall

      Je n'y avait pas du tout penser et ton oeil neuf m'a aidé.

      Maintenant plus 3 autres erreurs à résoudre et j'aurais entièrement fini mon programme, je vais continuer les recherches

      Merci encore
      0
  2. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    Bonjour,

    voir l'avant dernier point ici.

    Cordialement.
    0
  3. Submin Messages postés 463 Statut Membre 226
     
    Cela ne marche pas.

    J'ai deja utilisé le Application.DisplayAlerts et cela marche pour ce qui est validation de suppression et autre mais pas pour le GetSaveAsFilename

    C'est d'ailleur la le problème... je connaissais cette commande mais elle est inutile dans ce cas de figure :s
    0