Ouvrir un fichier text et le sauvegardé ailleurs. [Résolu]

Signaler
Messages postés
11
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
28 mai 2008
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonsour tout le monde!

Bien dormie j'espere :p

Voila donc toujours dans le cadre de mon apprentissage en vb, on m'as
demandé d'ouvrir un fichier text et de le save ailleurs, j'aimerais
fais cela uniquement avec des commondialog si possible biensur.

voila mon code mais cela marche pas, je sais pourquoi mais je n'arrive
pas a y remedier =(

Public fichier1 As String
Public fichier2 As String
Private Sub Command1_Click()
' Attribue à CancelError la valeur True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' Définit la propriété Flags
CommonDialog1.Flags = cdlOFNHideReadOnly
' Définit les filtres
CommonDialog1.Filter = "Fichiers texte (*.txt)|*.txt"
' Définit le filtre par défaut
CommonDialog1.FilterIndex = 2
' Affiche la boîte de dialogue Ouverture
CommonDialog1.ShowOpen

Open fichier1 For Input As #1

Exit Sub

ErrHandler:
'L'utilisateur a cliqué sur Annuler
Exit Sub

End Sub

Private Sub Command2_Click()
' Attribue à CancelError la valeur True
CommonDialog2.CancelError = True
On Error GoTo ErrHandler
' Définit la propriété Flags
CommonDialog2.Flags = cdlOFNHideReadOnly
' Définit les filtres
CommonDialog2.Filter = "Fichiers texte(*.txt)|*.txt"
' Définit le filtre par défaut
CommonDialog2.FilterIndex = 2
' Affiche la boîte de dialogue Ouverture
CommonDialog2.ShowSave
Open fichier2 For Output As #2
fichier2 = CommonDialog2.FileName
Print #2, fichier1

Exit Sub

ErrHandler:
'L'utilisateur a cliqué sur Annuler
Exit Sub
End Sub

Quelqun aurait le courrage de m'aidé via la forum ou msn? comme bon
vous semble ^^

(ps: je debute en vb)

Merci d'avance ;)

12 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
oui ^^
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
commentaire inutiles car paraphrasage total du code :
' Attribue à CancelError la valeur True
CommonDialog1.CancelError = True

explique plutot le but d'affecter telle ou telle valeur.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
' Définit les filtres
CommonDialog1.Filter = "Fichiers texte (*.txt)|*.txt"
' Définit le filtre par défaut
CommonDialog1.FilterIndex = 2

2 ? tu lui donne un seul filtre, comment pourrait-il séléctionner le 2ème ?

Open, Print...

Utilise FileCopy ou Name As
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
en outre, les flags choisis ne semblent pas très adéquats
Messages postés
11
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
28 mai 2008

Merci pour tes reponses, un support sur msn vite fais serais possible
? J'ai essayé 2-3 trucs la mais rien a faire =(
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
quel est le but, au final ?

ouvrir un fichier texte, et avoir la possibilité de l'enregistrer ailleurs ?

une sorte de bloc notes, en somme, non ?
Messages postés
11
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
28 mai 2008

En gros oui, c'est pour apprendre a ouvrir et a sauvegardé ailleur carm on gros projet final et de créé un prog pour sauvegardé tout les fichié sur le reseau qui ont été modifié, mais ont y va petit a petit,
Donc la pour la 1ere etape j'aimerai ouvrir un fichier texte et
l'enregistré ailleurs si possible uniquement avec commondialog.
Messages postés
11
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
28 mai 2008

Enfin pas tout a fais comme un bloc note, je veut veut juste ouvrir en lecture un fichier et le mettre ailleurs, je veut pas le fichier texte affiché
sur mon ecran.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
déplace le ou copie le, pas besoin de Open...
Messages postés
11
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
28 mai 2008

Comment? =(
Filecopy?
Messages postés
11
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
28 mai 2008

Yeah super! Merci bcp a toi voilam on code au cas ou :p ^^

Grand merci a toi, tu m'as bien guidés, au moins je m'en souviendrai de ces commandes, encore merci!

Public Sub Command1_Click()
' Attribue à CancelError la valeur True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' Définit la propriété Flags
CommonDialog1.Flags = cdlOFNHideReadOnly
' Définit les filtres
CommonDialog1.Filter = "Fichiers texte (*.txt)|*.txt"
' Définit le filtre par défaut
CommonDialog1.FilterIndex = 1
' Affiche la boîte de dialogue Ouverture
CommonDialog1.ShowOpen

' Attribue à CancelError la valeur True
CommonDialog2.CancelError = True
On Error GoTo ErrHandler
' Définit la propriété Flags
CommonDialog2.Flags = cdlOFNHideReadOnly
' Définit les filtres
CommonDialog2.Filter = "Fichiers texte (*.txt)|*.txt"
' Définit le filtre par défaut
CommonDialog2.FilterIndex = 1
' Affiche la boîte de dialogue Ouverture
CommonDialog2.ShowSave

Dim SourceFile, DestinationFile
SourceFile = CommonDialog1.FileName
destination = CommonDialog2.FileName



FileCopy SourceFile, destination
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
66
Comme je te le disais, tes commentaires, les flags et les controles effectués sont insuffisants :

Private Sub Command1_Click()
Dim sSource As String
With CommonDialog1
'# Si l'utilsateur presse Annuler, une erreur se déclenchera.
.CancelError = True
'# Laquelle sera interceptée
On Error GoTo XCancelled
.Flags = cdlOFNExplorer Or cdlOFNFileMustExist
.Filter = "Fichiers texte (*.txt)|*.txt"
'# Affiche la boîte de dialogue Ouverture
.ShowOpen

sSource = .FileName

'# Les flags pour une boite "Enregistrer sous" diffèrent un peu...
.Flags = cdlOFNExplorer Or cdlOFNNoReadOnlyReturn Or cdlOFNOverwritePrompt Or cdlOFNPathMustExist
.ShowSave

If StrComp(.FileName, sSource, vbTextCompare) Then
On Error Resume Next
'# On supprime le fichier, des fois qu'il existe déjà...
Kill .FileName

'# Onn rétablit le gestionnaire d'erreurs
On Error GoTo 0
FileCopy sSource, .FileName
Else
MsgBox "Fichier source et destination identiques.", vbExclamation
End If
End With
Exit Sub
XCancelled:
MsgBox "Action annulée.", vbExclamation
End Sub