PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Fonction TableurCherche
Fonction TableurCherche
Débuté par Yann LE BOULC'H, 22 jan. 2025 16:53 - 6 réponses
Membre enregistré
154 messages
Posté le 22 janvier 2025 - 16:53
Bonjour la communauté,

Cela faisait longtemps que je ne vous avez pas sollicité.

J'ai besoin de créer une interface où j'aurais des boutons pour filtrer mon tableur.

J'ai donc créé un champ Tableur "TBLR_TacheHDP" qui s'ouvre automatiquement lorsque j'execute le programme :





J'ai créé un bouton "Lundi" :

ResIndice est une chaîne
ResIndice = TableurCherche(TBLR_TacheHDP, "Check")
TANTQUE ResIndice <> ""
//
Trace(ResIndice)
// Cellule suivante
ResIndice = TableurCherche(TBLR_TacheHDP, "Check", ResIndice)
FIN


Au lieu d'afficher le résultat dans une simple fenêtre, j'aimerai que seules les lignes concernées s'affichent dans le tableur.

Pouvez vous m'aider svp ?

Belle soirée.
Posté le 22 janvier 2025 - 17:08
Bonjour,

Je t'invite à consulter la documentation de la fonction TableActiveFiltre à ce sujet :
https://doc.pcsoft.fr/fr-FR/?1000017149
Cela devrait répondre à ta demande.

NN12
Membre enregistré
762 messages
Posté le 22 janvier 2025 - 17:30
Bonjour
Si cette solution vous convient, j'avais mis en place ceci :

Création d'une nouvelle feuille dans le champ tableur
Remplissage de cette nouvelle feuille avec les données répondant à la recherche.
Puis suppression de cette feuille

ou création d'une copie permanente de la feuille principale
remplissage
vidage de la copie en fin d'opération

Cdlt
Membre enregistré
154 messages
Posté le 23 janvier 2025 - 07:19
Très bonne idée Cédric_44 mais je ne vois pas comment ça se matérialise
Membre enregistré
154 messages
Posté le 23 janvier 2025 - 07:23
Merci NN12,

Cependant, comment j'indique le nom de la colonne dans mon tableau svp :



Membre enregistré
154 messages
Posté le 23 janvier 2025 - 07:28
J'ai oublié de le spécifier, c'est un fichier Excel que j'ouvre et non un base de données HFSQL
Message modifié, 23 janvier 2025 - 07:29
Membre enregistré
762 messages
Posté le 23 janvier 2025 - 14:00
Bonjour,
TableActiveFiltre est pour le champ Table, pas pour un champ Tableur.

Pour la solution que je vous ai proposé, vous pouvez par exemple remplir un tableau mémoire avec les résultats de votre recherche.
puis pour ajouter une feuille au champ tableur :
nFeuille est un entier = TableurAjouteFeuille(TBLR_TacheHDP)
TBLR_TacheHDP..FeuilleEnCours = nFeuille


ou si par exemple "Feuil2" existe :
TableurSelectFeuille(TBLR_TacheHDP , "Feuil2")

pour Remplir les cellules avec les valeurs du tableau en mémoire :
TBLR_TacheHDP ..AffichageActif = Faux // si vous souhaitez désactiver l'affichage pendant le remplissage
TableurAjouteDonnée(TBLR_TacheHDP , 1, 2, 25) // ici j'affecte 25 dans la colonne 1 ligne 2
TableurAjouteDonnée(TBLR_TacheHDP , 1, 3, 12)
TableurAjouteDonnée(TBLR_TacheHDP , 1, 4, 3)
TBLR_TacheHDP ..AffichageActif = Vrai


vous pouvez aussi remplir comme ceci :
TBLR_TacheHDP ["A2"] = 25
TBLR_TacheHDP ["A3"] = 12
TBLR_TacheHDP ["A4"] = 3


Pour supprimer Feuil2 (attention à la recréer à la prochaine exécution) :
TableurSupprimeFeuille(TBLR_TacheHDP, "Feuil2")


Cdlt
Message modifié, 23 janvier 2025 - 14:02