j'ai un table que je remplie par un requ=EAte comme suit :
N Date
1002 02/11/2007
1002 02/11/2007
1222 02/11/2007
1019 28/09/2007 ok
1019 30/04/2007 ok
1061 28/09/2007 ok
1061 06/07/2007 ok
1154 16/11/2007 ok
1154 09/03/2007 ok
1154 16/11/2007 (mon code me colore aussi cette ligne)
1154 09/03/2007 (mon code me colore aussi cette ligne)
1890 23/03/2007 ok
1890 23/03/2007
1890 24/03/2007 ok
je vaudrais calculer le nombre des lignes qui ont un n qui se r=E9p=E8tent
avec des dates diff=E9rentes donc j'ai pens=E9 au d=E9but de faire colorer
les lignes qui ont cette condition mais j'ai pas bien y arriver !
NombreTable--
POUR nCompteur =3D 1 A (NombreTable)
nIndice =3D TableCherche( N ,MATABLE.N[nCompteur],Vrai,nCompteur+1)
TANTQUE nIndice > 0
SI MATABELE.DATE [nCompteur] <> MATABELE.DATE[nIndice] ALORS
kk =3D Dimension(tabSuiteDate)
POUR j =3D 1 A kk
// Pour sauter les lignes d=E9j=E0 colorer
SI MATABLE.DATE [nIndice] =3D tabSuiteDate [j] ET ( MATABLE.N[nCompteur]
=3D tabSuiteN [j] OU MATABLE.N[nIndice] =3D tabSuiteN [j] ) ALORS
GOTO hh
FIN
FIN
BufCompteur ++
Dimension(tabLIsteIndice,BufCompteur)
Dimension(tabLIsteSerail,BufCompteur)
// sauvegarde date et N =E0 colorer
tabSuiteDate[BufCompteur] =3D MATABLE.DATE[nIndice]
tabSuiteN [BufCompteur] =3D MATABLE.N [nIndice]
// coloration des ligne de condition MATABLE.N[nCompteur]..CouleurFond
=3D iVertClair
MATABLE.N[nIndice]..CouleurFond =3D iVertClair
j'ai un table que je remplie par un requête comme suit :
N Date
1002 02/11/2007 1002 02/11/2007
1222 02/11/2007
1019 28/09/2007 ok 1019 30/04/2007 ok
1061 28/09/2007 ok 1061 06/07/2007 ok
1154 16/11/2007 ok 1154 09/03/2007 ok 1154 16/11/2007 (mon code me colore aussi cette ligne) 1154 09/03/2007 (mon code me colore aussi cette ligne)
1890 23/03/2007 ok 1890 23/03/2007 1890 24/03/2007 ok
je vaudrais calculer le nombre des lignes qui ont un n qui se répètent avec des dates différentes donc j'ai pensé au début de faire colorer les lignes qui ont cette condition mais j'ai pas bien y arriver !
NombreTable--
POUR nCompteur = 1 A (NombreTable)
nIndice = TableCherche( N ,MATABLE.N[nCompteur],Vrai,nCompteur+1)
TANTQUE nIndice > 0
SI MATABELE.DATE [nCompteur] <> MATABELE.DATE[nIndice] ALORS
kk = Dimension(tabSuiteDate)
POUR j = 1 A kk
// Pour sauter les lignes déjà colorer
SI MATABLE.DATE [nIndice] = tabSuiteDate [j] ET ( MATABLE.N[nCompteur] = tabSuiteN [j] OU MATABLE.N[nIndice] = tabSuiteN [j] ) ALORS
GOTO hh
FIN FIN BufCompteur ++ Dimension(tabLIsteIndice,BufCompteur) Dimension(tabLIsteSerail,BufCompteur)
// sauvegarde date et N à colorer tabSuiteDate[BufCompteur] = MATABLE.DATE[nIndice] tabSuiteN [BufCompteur] = MATABLE.N [nIndice]
// coloration des ligne de condition MATABLE.N[nCompteur]..CouleurFond = iVertClair MATABLE.N[nIndice]..CouleurFond = iVertClair
FIN Svp est ce qu'il y as un truc plus rapide et simple pour ne selectionner que les lignes ( OK ) ? Merci
0) je suppose que la table ne contient pas trop de lignes, sinon ce code risque d'être long ! 1) Ajouter une colonne invisible qui mémorisera que la ligne a été traitée si oui=> mettre indice de la ligne 2) faire 2 boucles imbriquées pour i=1 à tableoccurrence(table) si lignetraitée[i]=0 alors -ntraité=n[i] -dateTraitéeÚte[i] -lignetraitée[i]=i ncompteur=1 -pour j=1 à tableoccurrence(table) --si lignetraitée[j]=0 alors --si date[j]Útetraitée alors ---lignetraitée[j]=i ---si ncompteur=1 alors ----ncouleur= // décider de la couleur des lignes ---fin ---ncompteur++ ---table[j]..couleur=ncouleur --fin --si ncompteur>1 alors ---table[i]..couleur=ncouleur// colorer la ligne d'origine --fin -fin fin // ttes les lignes sont lues et traitées // // je ne peux pas tester ce code // je vous laisse le soin de le tester et de l'améliorer // si ce code est trop long, je vs engage à créer un fichier indéxé. clé=num+date (n'oubliez pas d'y mettre le n° de ligne de la table) // vs pouvez alors utiliser ce code mais un seul passage est suffisant // lire du premier au dernier avec cette cle // tester si la cle de réference=suivante, si oui=>colorer etc ..., sinon la clé de référence devient la suivante et continuer.
En espérant vous avoir aidé.
On 1 fév, 19:39, mostafa <mostafacall...@gmail.com> wrote:
Bonjour,
j'ai un table que je remplie par un requête comme suit :
N Date
1002 02/11/2007
1002 02/11/2007
1222 02/11/2007
1019 28/09/2007 ok
1019 30/04/2007 ok
1061 28/09/2007 ok
1061 06/07/2007 ok
1154 16/11/2007 ok
1154 09/03/2007 ok
1154 16/11/2007 (mon code me colore aussi cette ligne)
1154 09/03/2007 (mon code me colore aussi cette ligne)
1890 23/03/2007 ok
1890 23/03/2007
1890 24/03/2007 ok
je vaudrais calculer le nombre des lignes qui ont un n qui se répètent
avec des dates différentes donc j'ai pensé au début de faire colorer
les lignes qui ont cette condition mais j'ai pas bien y arriver !
NombreTable--
POUR nCompteur = 1 A (NombreTable)
nIndice = TableCherche( N ,MATABLE.N[nCompteur],Vrai,nCompteur+1)
TANTQUE nIndice > 0
SI MATABELE.DATE [nCompteur] <> MATABELE.DATE[nIndice] ALORS
kk = Dimension(tabSuiteDate)
POUR j = 1 A kk
// Pour sauter les lignes déjà colorer
SI MATABLE.DATE [nIndice] = tabSuiteDate [j] ET ( MATABLE.N[nCompteur]
= tabSuiteN [j] OU MATABLE.N[nIndice] = tabSuiteN [j] ) ALORS
GOTO hh
FIN
FIN
BufCompteur ++
Dimension(tabLIsteIndice,BufCompteur)
Dimension(tabLIsteSerail,BufCompteur)
// sauvegarde date et N à colorer
tabSuiteDate[BufCompteur] = MATABLE.DATE[nIndice]
tabSuiteN [BufCompteur] = MATABLE.N [nIndice]
// coloration des ligne de condition MATABLE.N[nCompteur]..CouleurFond
= iVertClair
MATABLE.N[nIndice]..CouleurFond = iVertClair
FIN
Svp est ce qu'il y as un truc plus rapide et simple pour ne
selectionner que les lignes ( OK ) ?
Merci
0) je suppose que la table ne contient pas trop de lignes, sinon ce
code risque d'être long !
1) Ajouter une colonne invisible qui mémorisera que la ligne a été
traitée si oui=> mettre indice de la ligne
2) faire 2 boucles imbriquées
pour i=1 à tableoccurrence(table)
si lignetraitée[i]=0 alors
-ntraité=n[i]
-dateTraitée=date[i]
-lignetraitée[i]=i
ncompteur=1
-pour j=1 à tableoccurrence(table)
--si lignetraitée[j]=0 alors
--si date[j]=datetraitée alors
---lignetraitée[j]=i
---si ncompteur=1 alors
----ncouleur= // décider de la couleur des lignes
---fin
---ncompteur++
---table[j]..couleur=ncouleur
--fin
--si ncompteur>1 alors
---table[i]..couleur=ncouleur// colorer la ligne d'origine
--fin
-fin
fin
// ttes les lignes sont lues et traitées
//
// je ne peux pas tester ce code
// je vous laisse le soin de le tester et de l'améliorer
// si ce code est trop long, je vs engage à créer un fichier indéxé.
clé=num+date (n'oubliez pas d'y mettre le n° de ligne de la table)
// vs pouvez alors utiliser ce code mais un seul passage est suffisant
// lire du premier au dernier avec cette cle
// tester si la cle de réference=suivante, si oui=>colorer etc ...,
sinon la clé de référence devient la suivante et continuer.
j'ai un table que je remplie par un requête comme suit :
N Date
1002 02/11/2007 1002 02/11/2007
1222 02/11/2007
1019 28/09/2007 ok 1019 30/04/2007 ok
1061 28/09/2007 ok 1061 06/07/2007 ok
1154 16/11/2007 ok 1154 09/03/2007 ok 1154 16/11/2007 (mon code me colore aussi cette ligne) 1154 09/03/2007 (mon code me colore aussi cette ligne)
1890 23/03/2007 ok 1890 23/03/2007 1890 24/03/2007 ok
je vaudrais calculer le nombre des lignes qui ont un n qui se répètent avec des dates différentes donc j'ai pensé au début de faire colorer les lignes qui ont cette condition mais j'ai pas bien y arriver !
NombreTable--
POUR nCompteur = 1 A (NombreTable)
nIndice = TableCherche( N ,MATABLE.N[nCompteur],Vrai,nCompteur+1)
TANTQUE nIndice > 0
SI MATABELE.DATE [nCompteur] <> MATABELE.DATE[nIndice] ALORS
kk = Dimension(tabSuiteDate)
POUR j = 1 A kk
// Pour sauter les lignes déjà colorer
SI MATABLE.DATE [nIndice] = tabSuiteDate [j] ET ( MATABLE.N[nCompteur] = tabSuiteN [j] OU MATABLE.N[nIndice] = tabSuiteN [j] ) ALORS
GOTO hh
FIN FIN BufCompteur ++ Dimension(tabLIsteIndice,BufCompteur) Dimension(tabLIsteSerail,BufCompteur)
// sauvegarde date et N à colorer tabSuiteDate[BufCompteur] = MATABLE.DATE[nIndice] tabSuiteN [BufCompteur] = MATABLE.N [nIndice]
// coloration des ligne de condition MATABLE.N[nCompteur]..CouleurFond = iVertClair MATABLE.N[nIndice]..CouleurFond = iVertClair
FIN Svp est ce qu'il y as un truc plus rapide et simple pour ne selectionner que les lignes ( OK ) ? Merci
0) je suppose que la table ne contient pas trop de lignes, sinon ce code risque d'être long ! 1) Ajouter une colonne invisible qui mémorisera que la ligne a été traitée si oui=> mettre indice de la ligne 2) faire 2 boucles imbriquées pour i=1 à tableoccurrence(table) si lignetraitée[i]=0 alors -ntraité=n[i] -dateTraitéeÚte[i] -lignetraitée[i]=i ncompteur=1 -pour j=1 à tableoccurrence(table) --si lignetraitée[j]=0 alors --si date[j]Útetraitée alors ---lignetraitée[j]=i ---si ncompteur=1 alors ----ncouleur= // décider de la couleur des lignes ---fin ---ncompteur++ ---table[j]..couleur=ncouleur --fin --si ncompteur>1 alors ---table[i]..couleur=ncouleur// colorer la ligne d'origine --fin -fin fin // ttes les lignes sont lues et traitées // // je ne peux pas tester ce code // je vous laisse le soin de le tester et de l'améliorer // si ce code est trop long, je vs engage à créer un fichier indéxé. clé=num+date (n'oubliez pas d'y mettre le n° de ligne de la table) // vs pouvez alors utiliser ce code mais un seul passage est suffisant // lire du premier au dernier avec cette cle // tester si la cle de réference=suivante, si oui=>colorer etc ..., sinon la clé de référence devient la suivante et continuer.