VBA - Enregistrer sous spécifique
Fermé
Nico
-
2 mars 2016 à 11:17
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 3 mars 2016 à 07:59
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 3 mars 2016 à 07:59
A voir également:
- Vba enregistrer sous chemin variable
- Audacity enregistrer son pc - Guide
- Enregistrer en pdf - Guide
- Comment enregistrer une video youtube - Guide
- Enregistrer son ecran - Guide
- Comment enregistrer une musique sur youtube en mp3 - Guide
5 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
2 mars 2016 à 11:41
2 mars 2016 à 11:41
Bonjour,
Comme ceci:
Comme ceci:
Dim chemin As Variant Dim NoLigne, DerniereLigne, Tableau chemin = Application.GetOpenFilename("Fichiers texte (*.txt), *.txt") If VarType(chemin) = vbBoolean Then MsgBox "Opération annulée" Else 'Ecrit dans le fichier txt Do While NoLigne <= DerniereLigne Open chemin For Append As #NoLigne Tableau(NoLigne) = Replace(Tableau(NoLigne), vbCrLf, "") Tableau(NoLigne) = Replace(Tableau(NoLigne), vbCr, "") Tableau(NoLigne) = Replace(Tableau(NoLigne), vbLf, "") Print #NoLigne, Tableau(NoLigne) Close NoLigne = NoLigne + 1 Loop End If
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
2 mars 2016 à 16:33
2 mars 2016 à 16:33
Bonjour,
Ce qui est urgent c'est que tu regardes l'aide sur Open avant de l'utiliser.
Parce que
c'est du grand n'importe quoi qui fait peur...
On n'ouvre un fichier qu'UNE FOIS, et avec son #filenum fourni par windows
Là tu en ouvres un par ligne (que tu ne refermes sans doute pas d'ailleurs...), avec en plus le risque d'aller pourrir les écritures en cours des autres processus.
Sinon pour ta question soit tu ouvres 2 fichiers (1 en lecture, l'autre en écriture), soit l'original est destiné à être supprimé, auquel cas tu travailles dessus et te contentes de le renommer à la fin.
eric
Ce qui est urgent c'est que tu regardes l'aide sur Open avant de l'utiliser.
Parce que
Do While NoLigne <= DerniereLigne Open Chemin For Append As #NoLigne
c'est du grand n'importe quoi qui fait peur...
On n'ouvre un fichier qu'UNE FOIS, et avec son #filenum fourni par windows
Là tu en ouvres un par ligne (que tu ne refermes sans doute pas d'ailleurs...), avec en plus le risque d'aller pourrir les écritures en cours des autres processus.
Sinon pour ta question soit tu ouvres 2 fichiers (1 en lecture, l'autre en écriture), soit l'original est destiné à être supprimé, auquel cas tu travailles dessus et te contentes de le renommer à la fin.
eric
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
Modifié par Le Pingou le 2/03/2016 à 16:52
Modifié par Le Pingou le 2/03/2016 à 16:52
Bonjour,
Juste au passage, pour enregistrer sous….. essayer ce code :
Salutations.
Le Pingou
Juste au passage, pour enregistrer sous….. essayer ce code :
Sub test()Note, à adapter dans votre procédure… !
Dim fichier As String
On Error Resume Next
fichier = Application.GetSaveAsFilename( _
fileFilter:="Excel Files (*.xls), *.xls")
If fichier <> False Then ThisWorkbook.SaveAs fichier
End Sub
Salutations.
Le Pingou
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
3 mars 2016 à 07:59
3 mars 2016 à 07:59
Un petit peu de lecture pour avancer en VBA:
http://www.info-3000.com/vbvba/fichiers/#FichierTexte
http://www.info-3000.com/vbvba/fichiers/#FichierTexte
2 mars 2016 à 12:23
Tout d'abord merci de votre réponse.
Cependant ce n'est pas ce que je recherche, dans votre code vous faites ouvrir une fenêtre qui me demande de sélectionner un fichier à ouvrir or ce que je recherche est de faire un enregistrer sous.
Avez-vous une solution?
Merci d'avance.