Récupération MS FlexGrid

Fermé
jctgt Messages postés 57 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 27 novembre 2023 - 29 avril 2021 à 19:26
f894009 Messages postés 17077 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 décembre 2023 - 30 avril 2021 à 07:21
Bonjour. Ma demande d’aide
J’ai un problème de récupération de mon FlexGrid.

Quand je le sauve, j’ai bien le nom des colonnes au Rang 0 qui est Fixed. La liste des titres est bien sur les colonnes.

Private Sub Ouvrir()
Dim file_name As String
Dim fnum As Integer
Dim max_row As Integer
Dim max_col As Integer
Dim txt As String
Dim max_len As Single
Dim new_len As Single
file_name = App.Path
If Right$(file_name, 1) <> "\" Then file_name = _
file_name & "\"
file_name = file_name & "tfgBillard.dat"
fnum = FreeFile
Open file_name For Input As fnum
' Hide the control until it's loaded.
tfgBillard.Visible = False
DoEvents
' Get the maximum row and column.
Input #fnum, max_row, max_col
tfgBillard.FixedCols = 0
tfgBillard.Cols = max_col + 1
tfgBillard.FixedRows = 0
tfgBillard.Rows = max_row + 1
' Load the cell entries.
For R = 0 To max_row
For C = 0 To max_col
Input #fnum, txt
tfgBillard.TextMatrix(R, C) = txt
Next C
' Read the last blank entry.
Input #fnum, txt
Next R
Close #fnum
' Size the columns.
Font.Name = tfgBillard.Font.Name
Font.Size = tfgBillard.Font.Size
For C = 0 To max_col
max_len = 0
For R = 0 To max_row
new_len = TextWidth(tfgBillard.TextMatrix(R, C))
If max_len < new_len Then max_len = new_len
Next R
tfgBillard.ColWidth(C) = max_len
tfgBillard.ColAlignment(C) = flexAlignLeftCenter
Next C
' Display the control.
tfgBillard.Visible = True
End Sub


Ma variable R dans tfgBillard.TextMatrix(R, C) = txt vaut bien 0

Pour un teste, je mets 0 à la place du R. Ce Rang 0 est encore au Rang 3
Au sauvetage, j’ai une entête pour les colonnes 0 à 13
LA RÉCUPÉRATION
For C = 0 To max_col
Input #fnum, txt
If R = 2/6 Then tfgBillard.Visible = True: Exit Sub ‘Pour voir le résultat de la récupérarion d chaque ligne.
tfgBillard.TextMatrix(R, C) = txt
Next C
Je fais ce qui précède pour voir les résultats après la récupération de chaque ligne:

R = 0
Les lignes 0, 1, 2, 3, et 4 sont vides.
Les entêtes des colonnes sont sur la ligne 5 non pas sur la ligne 0 comme il se doit.

R = 1 et R = 2.
Les lignes 0, 1 et 2 sont vides
Les entêtes des colonnes sont toujours sur la ligne 5
Ce qui doit être aux lignes 1 et 2 le sont sur les lignes 3 et 4

R = 3
Les lignes 0 et 1sont vides
Les entêtes des colonnes sont maintenant sur la ligne 3
Ce qui devrait être sur les lignes 1 et 2 sont maintenant sur les lignes 2 et 3
Ce qui devrait être sur la ligne 3 est sur la ligne 5



R =4
La ligne 0 est vide
Les entêtes des colonnes sont maintenant sur la ligne 3
Ce qui devrait être sur les lignes 1, 2 et 3 sont maintenant à la bonne place sur 1 et 2
Ce qui devrait être sur la ligne 3 est sur la ligne 4
Ce qui devrait être sur la ligne 4 est sur la ligne 5

R =5
Les entêtes des colonnes sont demeurés sur la ligne 3
Ce qui devrait être sur les lignes 1, 2 et 3 sont maintenant à la dur les lignes 0, 1 et 2 comme il se doit
Ce qui devrait être sur la ligne 3 est sur la ligne 4
Ce qui devrait être sur la ligne 4 et 5 sont sur4 et 5 comme il se doit.

Sauriez-vous pourquoi tout ce MéliMélo?
Merci de bien vouloir m’aider!
Jean-Claude




Configuration: Windows / Chrome 90.0.4430.93


--
A voir également:

2 réponses

Whismeril Messages postés 18800 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 6 décembre 2023 915
30 avril 2021 à 07:12
Bonjour
Pour poster un code il faut faire comme décrit sur ce petit tuto
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
f894009 Messages postés 17077 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 décembre 2023 1 698
Modifié le 30 avril 2021 à 07:48
Bonjour,

https://forums.commentcamarche.net/forum/affich-37170991-sauver-msflex-grid-vb6
Vous n'avez pas repondu si Ok ou pas avec le code que je vous avais mis a dispo.

Je regarde pour le code qui vous embete un petit peu

Suite:
If R = 2/6 Then tfgBillard.Visible = True: Exit Sub‘Pour voir le résultat de la récupérarion d chaque ligne

Cette ligne n'extste pas!!

Avec le projet que j'utilise (le meme que pour votre demande precedente) y pas de probleme avec votre code
Il faudrait votre fichier .dat
0