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 -
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
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
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
A voir également:
- Vba getsaveasfilename
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Dépassement de capacité vba ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
3 réponses
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
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
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