VBA - GetSaveAsFilename

Résolu
Submin Messages postés 382 Date d'inscription   Statut Membre Dernière intervention   -  
Submin Messages postés 382 Date d'inscription   Statut Membre Dernière intervention   -
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

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
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
Submin Messages postés 382 Date d'inscription   Statut Membre Dernière intervention   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
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Bonjour,

voir l'avant dernier point ici.

Cordialement.
0
Submin Messages postés 382 Date d'inscription   Statut Membre Dernière intervention   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