Bonjour, Bonsoir
je suis désoler de poster encore un sujet mais j'ai vraiment du mal à tout comprendre comme vous le remarquer sûrement. ceci dit,
mon problème est que j'obtiens une erreur :L'index se trouve en dehors des limites du tableau.
Mon principe, j'enregistre dans un fichier .txt des données saisis entrer dans des ComboBox ainsi que des TextBox et dans le cas où celles-ci sont vide je les auto rempli avant l'enregistrement.
J'ouvre ensuite le fichier enregistrer en replaçant les données saisis dans les ComboBox et TextBox correspondant mais j'obtient l'erreur : "L'index se trouve en dehors des limites du tableau." à ma dernière ligne
voici une parti de mon code
Ici le code permettant l'ouverture de mon fichier et dont j'obtiens mon erreur à la lecture de la ligne "TextBoxCCP19.Text = MyLines(84)" spécifier en rouge ci-dessous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dim MenuCollection As ToolStripItemCollection Dim MoisClicker As String = "" Dim MoisSélectionner As String = "" Dim FSys Dim Monfic
Ici celui permettant l'enregistrement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 ' GESTION MENU FICHIER "SELECTION DES MOIS" (Ouvre si existe sinon Créer) Private Sub Click_Pour_SousMenusMois(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Novembre2012ToolStripMenuItem.Click, Décembre2012ToolStripMenuItem.Click, Janvier2013ToolStripMenuItem.Click, Février2013ToolStripMenuItem.Click, Mars2013ToolStripMenuItem.Click, Avril2013ToolStripMenuItem.Click, Mai2013ToolStripMenuItem.Click, Juin2013ToolStripMenuItem.Click, Juillet2013ToolStripMenuItem.Click, Août2013ToolStripMenuItem.Click, Septembre2013ToolStripMenuItem.Click, Octobre2013ToolStripMenuItem.Click, Novembre2013ToolStripMenuItem.Click, Décembre2013ToolStripMenuItem.Click ' test si le Mois sélectionner existe déjà If System.IO.File.Exists("D:\" & MoisClicker & ".txt") Then 'spécifie le fichier à lire si existe Dim MyLines() As String = {} MyLines = File.ReadAllLines("D:\" & MoisClicker & ".txt") 'Affiche les donner du fichier dans les case correspondante de la form 'SAISIS RESOURCES & TOTAUX TextBoxEspeceMOISPRECEDENT.Text = MyLines(1) '....................... TextBoxCCP18.Text = MyLines(83) TextBoxCCP19.Text = MyLines(84) '"L'index se trouve en dehors des limites du tableau. End If End Sub
Et enfin celui de l'auto remplissage des ComboBox / TextBox vide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 'GESTION MENU FICHIER "ENREGISTREMENT" (Enregistre si existe sinon Créer et Enregistre) Private Sub Click_Pour_SousMenusEnregistrement(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Novembre2012ToolStripMenuItem1.Click, Décembre2012ToolStripMenuItem1.Click, Janvier2013ToolStripMenuItem1.Click, Février2013ToolStripMenuItem1.Click, Mars2013ToolStripMenuItem1.Click, Avril2013ToolStripMenuItem1.Click, Mai2013ToolStripMenuItem1.Click, Juin2013ToolStripMenuItem1.Click, Juillet2013ToolStripMenuItem1.Click, Août2013ToolStripMenuItem1.Click, Septembre2013ToolStripMenuItem1.Click, Octobre2013ToolStripMenuItem1.Click, Novembre2013ToolStripMenuItem1.Click, Décembre2013ToolStripMenuItem1.Click 'Rempli TextBox & Combox si el sont vide RempliSiVide(SplitContainer1.Panel1) RempliSiVide(SplitContainer1.Panel2) ' Créer & Enregistre les saisis dans Fichier FSys = CreateObject("Scripting.FileSystemObject") Monfic = FSys.CreateTextFile("D:\" & MoisSélectionner & ".txt") 'écris les saisi utilisateur dans le fichier With Monfic ' SAISIS RESOURCES & TOTAUX Monfic.writeLine(TextBoxEspeceMOISPRECEDENT.Text) Monfic.writeLine(TextBoxCCPMOISPRECEDENT.Text) '..................... Monfic.writeLine(TextBoxCCP18.Text) Monfic.writeLine(TextBoxCCP19.Text) End With Monfic.close() End Sub
auriez-vous une idées de la maladresse de mon code qui génère cette erreur svp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ' PROCEDURE PERMETANT DE REMPLIR TOUTES LES TEXTBOX / COMBOBOX SI ELLE SONT VIDE Sub RempliSiVide(ByVal conteneur As Control) For Each ctrl As Control In conteneur.Controls Select Case True Case TypeOf ctrl Is ComboBox ctrl.Text = "Saisir" ctrl.Enabled = False Case TypeOf ctrl Is TextBox ctrl.Text = "0" ctrl.Enabled = False End Select Next End Sub
Partager