PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → nombre de mot répété
nombre de mot répété
Débuté par Stephane Vital OHOU, 01 juin 2020 01:35 - 11 réponses
Membre enregistré
146 messages
Popularité : +2 (4 votes)
Posté le 01 juin 2020 - 01:35
Salut tous,
J'ai un projet dans lequel il y a un tableau. Dans une colonne, il y a des noms qui sont répétés.
Exemple:
JEAN
PAUL
SILVIIE
JEAN
BEAU
DANS
ERIC
JEAN
PAUL
PAUL
SILVIIE
Il y a t-il un code qui peut me permettre d'afficher dans une zone de saisie, combien de fois un nom est répété ?
Merci

--
Très respectueusement
Membre enregistré
286 messages
Popularité : +24 (28 votes)
Posté le 01 juin 2020 - 09:06
Bonjour

A part le fait de passé par un tableau à 2 dimensions ( Mot 1, Compteur 2)
Une boucle sur la chaîne avec espace comme séparateur
Recherche dans le tableau si le mot s'y trouve ....
...
....
Membre enregistré
286 messages
Popularité : +24 (28 votes)
Posté le 01 juin 2020 - 09:09
Au temps pour moi
La boucle sur la chaîne doit être remplacée par le parcours du tableau de référence
Membre enregistré
3 886 messages
Popularité : +227 (347 votes)
Posté le 01 juin 2020 - 09:43
Bonjour,
Dans un premier temps, parles-tu d'un tableau (type de variable) ou d'un champ table ?

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
3 886 messages
Popularité : +227 (347 votes)
Posté le 01 juin 2020 - 09:55
Dans un 2° temps, s'il s'agit d'un champ table, comment est rempli ton champ ?

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
146 messages
Popularité : +2 (4 votes)
Posté le 02 juin 2020 - 00:50
Salut à tous,
mon tableau est un champ table. pour le remplir, je clique sur un bouton et la ligne est ajoutée.

--
Très respectueusement
Membre enregistré
3 886 messages
Popularité : +227 (347 votes)
Posté le 02 juin 2020 - 04:52
Stephane Vital OHOU a écrit :
mon tableau est un champ table

Non, une variable ne peut pas être un champ
. pour le remplir, je clique sur un bouton et la ligne est ajoutée

Comment ?
C'est un champ table mémoire, fichier ....

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
2 572 messages
Popularité : +222 (260 votes)
Posté le 02 juin 2020 - 11:47
@Stephane Vital OHOU: Un parcours de la table et un tableau associatif pourront résoudre ton problème.

taNoms est un tableau associatif d'entier

POUR TOUTE LIGNE de TABLE_SansNom1
taNoms[COL_SansNom1] += 1
FIN

POUR TOUT nQte,sCle de taNoms
Trace(sCle + " : " + nQte)
FIN


--
Cordialement,

Philippe SAINT-BERTIN
Membre enregistré
119 messages
Popularité : +1 (1 vote)
Posté le 02 juin 2020 - 12:22
Tu peux utiliser TableOccurence() à la sélection d'une ligne de la table pour afficher dans la champ le nombre le fois que le contenu de la ligne sélectionnée existe dans la table

José
Membre enregistré
3 886 messages
Popularité : +227 (347 votes)
Posté le 02 juin 2020 - 13:17
Philippe SB a écrit :
@Stephane Vital OHOU: Un parcours de la table et un tableau associatif pourront résoudre ton problème.

taNoms est un tableau associatif d'entier

POUR TOUTE LIGNE DE TABLE_SansNom1
taNoms[COL_SansNom1] += 1
FIN

POUR TOUT nQte,sCle de taNoms
Trace(sCle + " : " + nQte)
FIN

La première partie du code :
taNoms est un tableau associatif d'entier

taNoms[COL_SansNom1] += 1

Peut même se mettre dans l'affichage d'une ligne.
TableAjouteLigne appelera directement cette partie.

On aura plus qu'à appeler le 2° partie du code pour afficher le résultat (on gagne une boucle)

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
2 572 messages
Popularité : +222 (260 votes)
Posté le 02 juin 2020 - 18:19
La première partie du code :
taNoms est un tableau associatif d'entier

taNoms[COL_SansNom1] += 1

Peut même se mettre dans l'affichage d'une ligne.
TableAjouteLigne appelera directement cette partie.


Surtout pas, tu vas compter plusieurs fois la même ligne rien qu'en faisant défiler ta table.

--
Cordialement,

Philippe SAINT-BERTIN
Membre enregistré
146 messages
Popularité : +2 (4 votes)
Posté le 08 juin 2022 - 03:29
Merci a tous de m'avoir aidé.
Voila le code que j'ai utilisé et adapté a mon projet

taNoms est un tableau associatif d'entier

POUR TOUTE LIGNE de TABLE_SansNom1
taNoms[COL_SansNom1] += 1
FIN

POUR TOUT nQte,sCle de taNoms
Sai_total = (sCle + " : " + nQte)
FIN

--
Très respectueusement