CYM13
Messages postés18Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention16 octobre 2006
-
29 août 2006 à 09:25
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 2018
-
31 août 2006 à 12:53
j'ai fais ce script:
reponse=inputbox("Veillez entrer le mot de passe.")
Select Case reponse
Case"Drakofe"
Set fso = CreateObject("Scripting.FileSystemObject")
Set fic = fso.OpenTextFile("C:\Documents and Settings\HP_Propriétaire\Mes documents\Thibault\journalintime.txt")
x=inputBox("Souhaite-tu lire(1) ou écrire(2)?")
If x=1 Then
Do While fic.AtEndOfStream <> True
MsgBox fic.ReadLine
Loop
ElseIf x=2 Then
y=inputBox("Entrez ici ce que vous voulez écrire(Une seule ligne).")
fic.WriteLine (y)
Else
MsgBox"Désolé,réponse incorrect,veuillez recommenser"
End If
fic.Close
Case Else
MsgBox"Désolé,tu ne peux pas rentrer..."
End Select
mais,à la ligne13,je n'obtient qu'une erreur me disant que "mode fichier incorrect"
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 29 août 2006 à 16:12
Re,
Essaie le code suivant:
Const ForReading 1, ForWriting 2, ForAppending = 8
Dim fichier
fichier = "C:\Documents and Settings\HP_Propriétaire\Mes documents\Thibault\journalintime.txt"
reponse=inputbox("Veillez entrer le mot de passe.")
Select Case reponse
Case"Drakofe"
Set fso = CreateObject("Scripting.FileSystemObject")
Set fic = fso.OpenTextFile(fichier, ForReading)
Do While fic.AtEndOfStream <> True
Lecture = fic.ReadAll
Loop
Call fic.Close
x=inputBox("Souhaite-tu écrire (saisir le chiffre 2)? à la fin ce fichier" &vbCrLf&vbCrLf& Lecture &vbCrLf)
If x=2 Then
Set fic = fso.OpenTextFile(fichier, ForAppending)
y=inputBox("Entrez ici ce que vous voulez écrire(Une seule ligne).")
fic.WriteLine (y)
fic.Close
Else
MsgBox"Désolé,réponse incorrect,veuillez recommenser"
End If
Case Else
MsgBox"Désolé,tu ne peux pas rentrer..."
End Select
CYM13
Messages postés18Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention16 octobre 2006 31 août 2006 à 11:58
Merci!
Comme l'inputbox ne peut pas afficher une trop grande quantité d'information,j'ai rajouté une fonction "vidange".Il suffit de noter "vidange" à la place de oui lorsque l'on nous demande si l'on veut écrire ou non.
Voici le script légérement modifié:
Const ForReading 1, ForWriting 2, ForAppending = 8
Dim fichier
fichier = "C:\Documents and Settings\HP_Propriétaire\Mes documents\Thibault\journalintime.txt"
reponse=inputbox("Veillez entrer le mot de passe.")
Select Case reponse
Case"Drakofe"
Set fso = CreateObject("Scripting.FileSystemObject")
Set fic = fso.OpenTextFile(fichier, ForReading)
Do While fic.AtEndOfStream <> True
Lecture = fic.ReadAll
Loop
Call fic.Close
x=inputBox("Souhaite-tu écrire (oui) à la fin ce fichier?" &vbCrLf&vbCrLf& Lecture &vbCrLf)
If x="oui" Or x="OUI" Then
Set fic = fso.OpenTextFile(fichier, ForAppending)
y=inputBox("Entrez ici ce que vous voulez écrire(Une seule ligne).")
fic.WriteLine (y)
fic.Close
ElseIf x="vidange" Or x="Vidange" Or x="VIDANGE" Then
Set f = fso.GetFile(fichier)
f.Delete
Set a = fso.CreateTextFile(fichier,True)
MsgBox"VIDANGE EFFECTUEE"
Else
MsgBox"Désolé,réponse incorrect,veuillez recommenser"
End If
Case Else
MsgBox"Désolé,tu ne peux pas rentrer..."
End Select
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 29 août 2006 à 10:24
reponse=inputbox("Veillez entrer le mot de passe.")
Select Case reponse
Case"Drakofe"
Set fso = CreateObject("Scripting.FileSystemObject")
<strike>Set fic = fso.OpenTextFile("C:\Documents and Settings\HP_Propriétaire\Mes documents\Thibault\journalintime.txt")</strike>
x=inputBox("Souhaite-tu lire(1) ou écrire(2)?")
If x=1 Then
Set fic = fso.OpenTextFile("C:\Documents and Settings\HP_Propriétaire\Mes documents\Thibault\journalintime.txt", ForReading)
Do While fic.AtEndOfStream <> True
MsgBox fic.ReadLine
Loop
ElseIf x=2 Then
Set fic = fso.OpenTextFile("C:\Documents and Settings\HP_Propriétaire\Mes documents\Thibault\journalintime.txt", ForAppending)
y=inputBox("Entrez ici ce que vous voulez écrire(Une seule ligne).")
fic.WriteLine (y)
Else
MsgBox"Désolé,réponse incorrect,veuillez recommenser"
End If
fic.Close
Case Else
MsgBox"Désolé,tu ne peux pas rentrer..."
End Select
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Vous n’avez pas trouvé la réponse que vous recherchez ?
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 29 août 2006 à 10:34
Salut,
J'ajouterai en explication.
Si tu ouvres ton fichier sans preciser le mode d'acces, le mode par défaut est ForReading, donc il te sera impossible de faire l'écriture.
Donc Normalement le code de casydevrait régler ton problème.
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 29 août 2006 à 12:36
Bonjour,
Il est possible d'afficher la lecture du fichier directement dans l'InputBox.
Ne pas oublier, aussi, les set ... = Nothing.
Le password dans le script, c'est original.
jean-marc
reponse=inputbox("Veillez entrer le mot de passe.")
Select Case reponse
Case"Drakofe"
Set fso = CreateObject("Scripting.FileSystemObject")
'Set fic = fso.OpenTextFile("C:\Documents and Settings\HP_Propriétaire\Mes documents\Thibault\journalintime.txt", ForReading)
Set fic = fso.OpenTextFile("D:\test1.txt")
Do While fic.AtEndOfStream <> True
Lecture = fic.ReadAll
Loop
Call fic.Close
'MsgBox Lecture
x=inputBox("Souhaite-tu écrire(OUI)? à la fin ce fichier" &vbCrLf&vbCrLf& Lecture &vbCrLf)
If x="OUI" Then
'Set fic = fso.OpenTextFile("C:\Documents and Settings\HP_Propriétaire\Mes documents\Thibault\journalintime.txt", ForAppending)
Set fic = fso.OpenTextFile("D:\test1.txt", 8)
y=inputBox("Entrez ici ce que vous voulez écrire(Une seule ligne).")
fic.WriteLine (y)
fic.Close
Else
MsgBox"Désolé,réponse incorrect,veuillez recommenser"
End If
Case Else
MsgBox"Désolé,tu ne peux pas rentrer..."
End Select
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 31 août 2006 à 12:53
Bonjour,
J'ai corrigé quelques petites incohérences:
'Set f = fso.GetFile(fichier) ' inutile car fso.CreateTextFile(fichier,True) crée ou recrée le fichier
'f.Delete ' inutile car fso.CreateTextFile(fichier,True) crée ou recrée le fichier
If UCase(Left((x), 3))="OUI" Then à la place de If x="oui" Or x="OUI" Then
ElseIf LCase(Left((x), 7)) = "vidange" Then à la place de ElseIf x="vidange" Or x="Vidange" Or x="VIDANGE" Then
UCase(Left((x), 3))="OUI" teste qu'il y a "oui" sur les 3 premiers caractères à gauche, sans tenir
compte des majuscules et minuscules saisies par l'utilisateur (OuI est valable mais PoUi ne l'est pas)
LCase(Left((x), 7)) = "vidange" teste qu'il y a "vidange" sur les 3 premiers caractères à gauche, sans tenir
compte des majuscules ou minuscules saisies par l'utilisateur(vIDANge est valable)
J'ai modifié la présentation des inputbox pour l'exemple.
@+
jean-marc
=====================================================Const ForReading 1, ForWriting 2, ForAppending = 8
Dim fichier
fichier = "C:\Documents and Settings\HP_Propriétaire\Mes documents\Thibault\journalintime.txt"
reponse=inputbox("Veuillez entrer le mot de passe.","Titre de cet inputbox")
Select Case reponse
Case"Drakofe"
Set fso = CreateObject("Scripting.FileSystemObject")
Set fic = fso.OpenTextFile(fichier, ForReading)
Do While fic.AtEndOfStream <> True
Lecture = fic.ReadAll
Loop
Call fic.Close
x=inputBox(Lecture &vbCrLf&vbCrLf& "Que souhaitez-vous effectuer ???"&vbCrLf&vbCrLf&_
"- pour écrire une ligne à la fin du fichier, saisir:"&vbCrLf&"OUI"&vbCrLf&_
"- pour effacer le contenu du fichier, saisir:" &vbCrLf& "VIDANGE","Visualisation du fichier " & fichier)
If UCase(Left((x), 3))="OUI" Then
Set fic = fso.OpenTextFile(fichier, ForAppending)
y=inputBox("Entrez ici ce que vous voulez écrire(Une seule ligne).")
fic.WriteLine (y)
fic.Close
ElseIf LCase(Left((x), 7)) = "vidange" Then
Set a = fso.CreateTextFile(fichier,True)
MsgBox"VIDANGE EFFECTUEE"
Else
MsgBox"Désolé,réponse incorrect,veuillez recommenser"
End If
Case Else
MsgBox"Désolé,tu ne peux pas rentrer..."
End Select