Inverser colonnes et lignes dans un tableau ?

sarl_adc Messages postés 141 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 20 octobre 2005 - 10 déc. 2004 à 09:22
sarl_adc Messages postés 141 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 20 octobre 2005 - 14 janv. 2005 à 13:44
Hello,

Je souhaiterais savoir s'il existe des contrôles déjà faits qui permettent de travailler en colonnes et non en lignes dans un tableau.

Par exemple, avec les contrôles de base VB, je crée ma requête SQL, et j'affiche les données dans mon tableau. Le nom des champs s'affiche dans les en-têtes des colonnes et les enregistrements dans les lignes.

J'aimerais en fait afficher le nom des champs dans chaque en-tête de ligne et les données dans chaque colonne.

Ce serait pratique pour afficher 50 camps différents à l'écran (ce qui n'est pas possible en mode normal, hormis en utilisant une scrollbar...).

Merci si vous avez des infos !!! :-)

11 réponses

AnteManoclis Messages postés 154 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 6 septembre 2007
10 déc. 2004 à 16:22
Salut,

Je ne sais même pas ce qu'est une requête SQL, mais je sais inverser les lignes et les colonnes, alors j'espère que les lignes qui vont suivre vont t'aider...

  Dim Tampon as String

  For i = 0 to NbreLignes-1
    For j=0 to NbreColonnes-1
      Tampon=Tableau(i,j)
      Tableau(i,j)=Tableau(j,i)
      Tableau(j,i)=Tampon
    Next j
  Next i



Voilà, je sais pas trop si c'est ce que tu recherchais, mais j'espère au moins que ça te guideras dans ta quête
Tchô ;)
AnteManoclis
0
sarl_adc Messages postés 141 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 20 octobre 2005
10 déc. 2004 à 16:55
Hello,

merci pour ta réponse mais en fait ce n'est pas vraiment ça que je cherchais.

En fait, dans un tableau normal on saisi d'abord une ligne. On rempli toutes les colonnes et ensuite, on passe à la ligne suivante.

J'aimerais pouvoir saisir d'abord toutes les valeurs de toutes les lignes de la première colonne et ensuite passer à la colonne d'après.
Comme si je basculais le tableau de 90°.

Si quelqu'un a ma réponse, je suis preneur ;-)

Merci !!
0
sarl_adc Messages postés 141 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 20 octobre 2005
10 déc. 2004 à 17:04
Petite précision, quand je parlais de tableau, je voulais dire "grille de saisie", du style les MSFlexGrid ou les SSDBGrid des contrôles Sheridan !!!

Je m'étais mal exprimé :-)
0
AnteManoclis Messages postés 154 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 6 septembre 2007
10 déc. 2004 à 17:40
Et tu veux les inverser lors du chargement ? Si tu les inverses juste après ça ne va pas ?

Tchô ;)
AnteManoclis
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sarl_adc Messages postés 141 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 20 octobre 2005
13 déc. 2004 à 08:40
Je veux que la saisie soit inversée mais que l'insertion dans les tables reste la même.

Plus globalement, il me faudrait un tableau orienté à 90°...
0
sarl_adc Messages postés 141 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 20 octobre 2005
11 janv. 2005 à 17:51
Toujours pas de solution ?

Pourtant beaucoup de logiciels utilisent des saisies verticales.
En voilà un exemple si ça peut aider :

1- A la base, dans un MsFlexGrid sous VB, on aurait ça :
(--> On a la possibilité de rajouter autant de ligne que l'on veut)

| col1 | col2 | col3 | col4 |
______________|____|____|____ |____ |
enregistrement 1 | val1 | vala | val4 | vale |
enregistrement 2 | val2 | valb | val5 | valf |
enregistrement 3 | val3 | valc | val6 | valh |
...
enregistrement x | valx | valy | val3z | val4t |

2- Moi ce que je voudrais voir à l'écran ce serait :
(--> On aurait la possibilité de rajouter autant de colonnes que l'on veut)

| enregistrement 1 | enregistrement 2 | enregistrement 3 | ... | enregistrement x
_____|_______________|______________|_______________|__|_______________
col1 | val1 | val2 | val3 | | valx
col2 | vala | valb | valc | | valy
col3 | val4 | val5 | val6 | | valz
col4 | vale | valf | valg | | valt

Par contre, il faudrait que ce tableau soit capable d'être sauvegardé dans une table Access (donc de manière horizontale, comme le point n°1).

Vala, je pense qu'avec ça je devrais être clair ;-)
Donc :
- si quelqu'un a une idée pour gérer ça
- si quelqu'un connait un programme (même assez honéreux, pas grave, c'est pour un développement à plusieurs milliers d'euros, donc ça se verra pas)
- si quelqu'un a développé un contrôle permettant de faire ça
- si quelqu'un connait quelqu'un qui connait quelqu'un qui sait faire

je suis preneur !! :-)

Allez, merci et bonne soirée !!
0
AnteManoclis Messages postés 154 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 6 septembre 2007
14 janv. 2005 à 11:44
Dim i As Integer, j As Integer 'Variables de comptage
Dim Tableau() As String 'Copie du tableau original MSFlexGrid


'Copie du MSFlexGrid1 dans la variable Tableau
ReDim Tableau(MSFlexGrid1.Rows, MSFlexGrid1.Cols)
For i = 0 To MSFlexGrid1.Rows - 1
  For j = 0 To MSFlexGrid1.Cols - 1
    Tableau(i, j) = MSFlexGrid1.TextMatrix(i, j)
  Next j
Next i


'Redimensionnement du MSFlexGrid1 (NbreColonnes=NbreLignes et vice-versa)
MSFlexGrid1.Rows = UBound(Tableau, 2)
MSFlexGrid1.Cols = UBound(Tableau, 1)


'Remplissage du MSFlexGrid1 à partir du Tableau croisé
For i = 0 To MSFlexGrid1.Rows - 1
  For j = 0 To MSFlexGrid1.Cols - 1
    MSFlexGrid1.TextMatrix(i, j) = Tableau(j, i)
  Next j
Next i


Tchô
AnteManoclis
0
AnteManoclis Messages postés 154 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 6 septembre 2007
14 janv. 2005 à 11:46
Bon, évidemment, les
 et 
ne sont pas à recopier...

Tchô
AnteManoclis
0
sarl_adc Messages postés 141 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 20 octobre 2005
14 janv. 2005 à 11:48
C'est à peu près ce que j'étais en train de faire, mais j'utilise des SSDBGrid de Sheridan et je gère mes insertions dans la base.

Ca va être long et assez difficile dans le sens où je doi gérer des Combobox et Checkbox intégrées dans mon tableau.

Mais ton idée est pas mal, merci de t'être tracassé pour moi :-)
0
sarl_adc Messages postés 141 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 20 octobre 2005
14 janv. 2005 à 11:54
Ok pour les
 et 
.

Je vais reprendre ton idée (pas le code) et tester en début d'aprem ;-)

Merci !!
0
sarl_adc Messages postés 141 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 20 octobre 2005
14 janv. 2005 à 13:44
Finalement, ton code ne fonctionnera pas avec mes SSDBGrid de Sheridan.

J'ai essayé avec une MsFlexGrid, mais c'est pas pratique, pas très chouette et beaucoup moins évolué...

Quelqu'un connait d'autres grilles qui fonctionnent de la même manière ?

Merci :-)
0
Rejoignez-nous