Calendrier problèmes,conseils, fichiers, etc.

Utilisateur anonyme - 19 oct. 2008 à 14:15
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 19 oct. 2008 à 16:44
Salut tout le monde,



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

 





Voila, je m’en remets encore a votre savoir car je suis bloqué depuis 1 semaine sur un problème et je n’ai plus de cheveux lol.




 





Voila, mon problème, on ma donné un projet à réaliser et je n’y arrive vraiment pas.



Il faut que je créé un calendrier avec la gestion d’événements par jours etc.



Et bien sur avec la suppression d’événements etc.



Et je ne doit pas utilisé une base de donnée (pourquoi, je ne sais pas lol) donc je pense que je dois utiliser un fichier pour sauvegarder les événements donc je me sui lancé sur cette idée



Donc lorsque l’utilisateur rentre un événement, il est sauvegardé dans le fichier sous cette forme



Date ; heure ; événements



Date ; heure ; événements




 





Pour sauvegarder voila comment je procède :




 







               
Dim Fichier AsString = Application.StartupPath & "\agenda.txt"






 







 







               
Dim str AsString = Vdate1 & ";" & Vheure & ";" & Vnote & vbCrLf






 







               
My.Computer.FileSystem.WriteAllText(Fichier, str, True)






 






Déjà dite moi si c’est la bonne méthode et donné la votre si vous jugez qu’elle est mieux SVP.



Ensuite, Lorsque j’essaye de supprimer  un p***** d’événements, je n’y arrive pas du tout. Voila comment je procède :



Dim
rd AsNew System.IO.StreamReader("agenda.txt")






       
Dim chn AsString






      








 







 







       
Dim Vdate2(55)






       
Dim Vheur(55)






       
Dim vnot(55)






 







 







       
Dim i AsInteger






        i = 0






 







     








 







 







       
Dim isValidDate AsBoolean = IsDate(TextBox1.Text) ' la textBox1 récupère la date que l'utilisateur à rentré






 







 







       
If (isValidDate = False) Then






 







            MsgBox("Date incorrecte", MsgBoxStyle.Information, "Problème")






            TextBox1.Text = ""






            TextBox1.Focus()






 







       
Else







           
Dim Vannee = TextBox1.Text.Split("/"c)(0)






 







           
Dim Vmois = TextBox1.Text.Split("/"c)(1)






 







           
Dim Vjour = TextBox1.Text.Split("/"c)(2)






 







           
If (Len(Vannee) <> 4) Then






 







                MsgBox("Le format de la date doit être: AAAA/MM/JJ", MsgBoxStyle.Information, "Date inversée ")






                TextBox1.Text = ""






                TextBox1.Focus()






 







           
Else







               
Dim Fichier2 AsString = Application.StartupPath & "\agenda2.txt"






               
Do
Until rd.Peek = -1






 







 
                  chn = rd.ReadLine()






 







 







                    Vdate2(i) = chn.Split(";"c)(0)






                    Vheur(i) = chn.Split(";"c)(1)






                    vnot(i) = chn.Split(";"c)(2)






 







 







 







                    i = i + 1






               
Loop







 







               
Dim k AsInteger






 







 







               
Dim str2 AsString






               
For k = 0 To 12






 







 







                   
Dim ddate = Vjour & "/" & Vmois & "/" & Vannee






 







                   
If (ddate = Vdate2(k)) Then






 







 







                        Vdate2(k) = Vdate2(k + 1)






                        Vheur(k) = Vheur(k + 1)






                        vnot(k) = Vheur(k + 1)






 







 







 







                   
End
If







 







                    str2 = Vdate2(k) & ";" & Vheur(k) & ";" & vnot(k) & vbCrLf






 







 







                   
Dim Fichier3 AsString = Application.StartupPath & "\agenda3.txt"






 







 







                   
My.Computer.FileSystem.WriteAllText(Fichier3, str2, True)






 







 







               
Next k






 




 





Le problème s’est que dans le fichier créé (agenda3)  sa me rajoute  « ;; » a cause de cette ligne(
str2 = Vdate2(k) & ";" & Vheur(k) & ";" & vnot(k) & vbCrLf





) mais je ne vois pas comment faire autrement. Aidez moi SVP, je suis dessus depuis 1semaine est j’en ai plus que mare, de ne pas  trouver.




 





Merci d’avance (j’espere)

4 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 oct. 2008 à 14:26
teste si ton champ Vdate2 ou Vheur sont renseignés, s'ils ne le sont pas tu n'enregistre pas cette ligne.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Utilisateur anonyme
19 oct. 2008 à 14:31
Salut,

Pour le moment, cette fonction permet de supprimer tout les événements d'une date indiqué.

Le problème c'est lorsque je supprime il y a  ";;" qui s'enregistre dans le fichier à cause de :  str2 Vdate2(k) & ";" & Vheur(k) & ";" & vnot(k) & vbCrLf<?xml:namespace prefix o ns = "urn:schemas-microsoft-com:office:office" /??>

je ne vois pas comment faire autrment
0
Utilisateur anonyme
19 oct. 2008 à 16:22
up please
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 oct. 2008 à 16:44
La solution que je t'ai donné ne convient pas ?

C'est pourtant la plus simple.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Rejoignez-nous