OVH Cloud OVH Cloud

aide sur "ShowDataForm" avec excel 97

7 réponses
Avatar
alroussel
Bonjour à tous

J'ai construit, avec l'aide de l'enregistreur cette macro, qui me permet, en
affichant la boite de dialogue excel grille de faire beaucoup d'opérations
sur une liste de données:
la macro
Sub RecherchesurRépertoire()
Sheets("Liste").Select
Range("A1:AD1").Select
ActiveSheet.ShowDataForm
Sheets("REPERTOIRE").Select
End Sub

1ere question:
existe t'il un moyen que la grille qui s'affiche dans la feuille "liste" sur
laquelle elle opère, s'affiche sur la feuille répertoire et dans
l'éventualité comment faire ?

2ème question
cette grille est très intéressante au niveau de sa fonction critère
lorsqu que la sélection est trouvée toutes ls données s'affichent à
l'utilisateur sous forme de fiches que l'on fait défiler avec les fonctions
"Suivantes" ou "précédente"
Existe t'il un moyen de récupérer ces données sur une feuille de calcul que
l'utilisateur pourrait par la suite imprimer ? un peu dans le m^me genre que
lorsqu'on utilise dans la grille la fonction "nouvelle" qui permet de
prendre des nouvelle données et qui les ajoute dans la liste.

Merci d'avance qui vos réponses qui me sortiraient d'un grand embarras

Alain Roussel

7 réponses

Avatar
Denis Michon
Bonsoir Alroussel,

1 - à ma connaissance, la grille est appliqué à la feuille active. Elle ne peut afficher les données d'une autre
feuille si cette dernière n'est pas active.

2 - Si tu veux copier le résultat de filtre, l'utilisation d'un filtre automatique ou élaboré est de mise.


Salutations!




"alroussel" a écrit dans le message de news:3fac1c21$0$27040$
Bonjour à tous

J'ai construit, avec l'aide de l'enregistreur cette macro, qui me permet, en
affichant la boite de dialogue excel grille de faire beaucoup d'opérations
sur une liste de données:
la macro
Sub RecherchesurRépertoire()
Sheets("Liste").Select
Range("A1:AD1").Select
ActiveSheet.ShowDataForm
Sheets("REPERTOIRE").Select
End Sub

1ere question:
existe t'il un moyen que la grille qui s'affiche dans la feuille "liste" sur
laquelle elle opère, s'affiche sur la feuille répertoire et dans
l'éventualité comment faire ?

2ème question
cette grille est très intéressante au niveau de sa fonction critère
lorsqu que la sélection est trouvée toutes ls données s'affichent à
l'utilisateur sous forme de fiches que l'on fait défiler avec les fonctions
"Suivantes" ou "précédente"
Existe t'il un moyen de récupérer ces données sur une feuille de calcul que
l'utilisateur pourrait par la suite imprimer ? un peu dans le m^me genre que
lorsqu'on utilise dans la grille la fonction "nouvelle" qui permet de
prendre des nouvelle données et qui les ajoute dans la liste.

Merci d'avance qui vos réponses qui me sortiraient d'un grand embarras

Alain Roussel
Avatar
alroussel
merci denis pour ta réponse

pour la question 1 je pensaais simplement que l'on pouvait faire afficher la
grille dans une autre feuille du m^me classeur comme on peut le faire pour
un UserForm mais si c'est pas possible, tant pis

pour la question 2 au niveau de ma connaissance le filtre élaboré me semble
peu convainquant surtout qu'avec la fonction critère de la grille on peut
faire une recherche en portant dans chaque champs des opérateurs
arithmétiques (et je vois pas comment je peux les mettre dans le filtre
élaboré. En fait j'aurais aimé savoir comment faire que pour ce données qui
sont affihées ne soient pas volatile dès que l'on ferme la grille car ça
oblige à les noter manuellement avant de les transcrire sur une feuille

mais bon, si c'est impossible ....

encore merci

Alain ROUSSEL
"Denis Michon" a écrit dans le message de news:
HdVqb.17078$
Bonsoir Alroussel,

1 - à ma connaissance, la grille est appliqué à la feuille active. Elle
ne peut afficher les données d'une autre

feuille si cette dernière n'est pas active.

2 - Si tu veux copier le résultat de filtre, l'utilisation d'un filtre
automatique ou élaboré est de mise.



Salutations!




"alroussel" a écrit dans le message de
news:3fac1c21$0$27040$

Bonjour à tous

J'ai construit, avec l'aide de l'enregistreur cette macro, qui me permet,
en

affichant la boite de dialogue excel grille de faire beaucoup d'opérations
sur une liste de données:
la macro
Sub RecherchesurRépertoire()
Sheets("Liste").Select
Range("A1:AD1").Select
ActiveSheet.ShowDataForm
Sheets("REPERTOIRE").Select
End Sub

1ere question:
existe t'il un moyen que la grille qui s'affiche dans la feuille "liste"
sur

laquelle elle opère, s'affiche sur la feuille répertoire et dans
l'éventualité comment faire ?

2ème question
cette grille est très intéressante au niveau de sa fonction critère
lorsqu que la sélection est trouvée toutes ls données s'affichent à
l'utilisateur sous forme de fiches que l'on fait défiler avec les
fonctions

"Suivantes" ou "précédente"
Existe t'il un moyen de récupérer ces données sur une feuille de calcul
que

l'utilisateur pourrait par la suite imprimer ? un peu dans le m^me genre
que

lorsqu'on utilise dans la grille la fonction "nouvelle" qui permet de
prendre des nouvelle données et qui les ajoute dans la liste.

Merci d'avance qui vos réponses qui me sortiraient d'un grand embarras

Alain Roussel





Avatar
AV
pour la question 2 au niveau de ma connaissance le filtre élaboré me semble
peu convainquant surtout qu'avec la fonction critère de la grille on peut
faire une recherche en portant dans chaque champs des opérateurs
arithmétiques (et je vois pas comment je peux les mettre dans le filtre
élaboré.


C'est l'inverse....
Avec un filtre élaboré il y a d'infinies solutions de critères de filtre
La fonctionnalité "critère" de la grille fait figure de parent pauvre à côté !

En fait j'aurais aimé savoir comment faire que pour ce données qui
sont affihées ne soient pas volatile dès que l'on ferme la grille car ça
oblige à les noter manuellement avant de les transcrire sur une feuille


Ben justement, la fonctionnalité filtre élaboré impose une zone de critères sur
une feuille, donc si tu veux les garder....
En précisant ta demande, tu auras surement une réponse..

AV

Avatar
alroussel
Bonjour AV
tout d'abord merci de votre réponse qui me laisse entrevoir que ma solution
à la question 2 se trouve dans l'utilistion d'un filtre éléboré mais alors
là je ne sais plus comment faire, n'ayant jamais utiliser cette fonction.
Alors si vous pouviez me donner une indication avec l'explication, que je
vais tenter, pour mon problème.

Voilà, j'ai une liste, qui s'enrichit au fur et à mesure des requ^tes et
comportant un nombre de lignes pouvant aller jusqu'à 5000.
Les données s'étagent sur les colonnes A a AD.
Les colonnes A à J concerne des données d'identification des personnes
Les colonnes K à AD concernent des données particulières indiquant le
pourquoi ces personnes sont présentent sur la liste (ces personnes ayant été
sélectionnées et il n'y a pas de doublons)
Ces colonnes s'étagent de la manière suivante: colonne K = année de la
sélection, colonne L le critère sur lequel a été faite la sélection de
l'année, puis colonne M=année de sélection, colonne N le nouveau critère sur
lequel a été fait la sélection de l'année et ainsi de suite jusqu'à colonne
AD. J'espère être assez clair.
Ce que je veux faire c'est sélectionner les personnes qui répondraient au 10
critères (c'est à dire que les colonnes K à AD comporteraient tous une
indication pour la m^me personne) ou s'il n'y en a pas celles qui
répondraient à 9 critères (c'est à dire que les colonnes K à AD
comporteraient au moins 9 indications) et ainsi de suite dans l'ordre
décroissant.
J'espère avoir été clair et suis à disposition pour des explications
complémentaires
Merci d'avance pour votre aide qui me facilterait énorméent la vie s'il y a
une solution avec l filtre élaboré dont j'ignore le fonctionnement

Alain ROUSSEL

"AV" a écrit dans le message de news:
bohru5$rn$
pour la question 2 au niveau de ma connaissance le filtre élaboré me
semble


peu convainquant surtout qu'avec la fonction critère de la grille on
peut


faire une recherche en portant dans chaque champs des opérateurs
arithmétiques (et je vois pas comment je peux les mettre dans le filtre
élaboré.


C'est l'inverse....
Avec un filtre élaboré il y a d'infinies solutions de critères de filtre
La fonctionnalité "critère" de la grille fait figure de parent pauvre à
côté !


En fait j'aurais aimé savoir comment faire que pour ce données qui
sont affihées ne soient pas volatile dès que l'on ferme la grille car ça
oblige à les noter manuellement avant de les transcrire sur une feuille


Ben justement, la fonctionnalité filtre élaboré impose une zone de
critères sur

une feuille, donc si tu veux les garder....
En précisant ta demande, tu auras surement une réponse..

AV





Avatar
AV
J'espère avoir été clair et suis à disposition pour des explications
complémentaires


A ce sujet là...justement....;-)
Pour éclairer la "situation", donne moi les noms des différents champs de ta
base; ce que l'on y trouve dedans comme type de valeurs et énumère les critères
devant servir à l'extraction
Ex :
En colA les Noms, colB les date de Naiss, colC code Postal, colD Taille......
Extraire les noms commençant par "A", dont l'age est inférieur à x qui habitent
Paris Intra-muros et dont la taille est comprise entre 180 et 210cm ...et


AV

Avatar
alroussel
merci et voilà ce que j'ai
en A "FIP" un n° d'identification, en B "Titre" (style M ou Mme) en C le
NOM, en D "ADRESSE", en E "n°Commune", en F n°"Ville", jusqu'à colonne J ce
style de données (chiffres) puis en K "Année 1 sélection" et données de type
"2000", 2001, 2002 etc, en L "Critère année1" données de style texte comme
"frais réels", en M "Année 2 de sélection" données de style
"2000",2001,2002, année qui peut être identique à K si critère en N
différent de celui de L ou supérieur à année K si critère en N est le même
que L, puis N "Critère année2" données de style texte comme en L et les
colonnes suivantes ainsi de suite mais toujours dans le m^me ordre soit
"année3" puis Critère année 3, puis "année 4" puis Critère Année 4, etc
jusqu'à AD.

En fait je voudrais parcourir toutes les lignes de cette liste et qu'en
suite il me reste une liste de personnes ou j'aurai par exemple toutes les
colonnes remplies (ce qui serait un cas très exceptionnel) ou alors
seulement toutes les colonnes moins 1 remplies, etc suivant le choix de la
demande.
Autre forme dece que je voudrais faire:
- produire une liste ou j'aurai des personnes qui auraient 10 ou 9 ou 8 ou 7
etc jusqu'à 2 critères inscrits
- bien entendu cette liste comporterait tous les champs de la liste initiale

En fait il faut extraire les personnes qui ont le plus (dans l'ordre
décroissant suivant la demande) de colonne remplie à partir de la colonne K

Pas simple l'explication écrite mais j'espère me faire comprendre

gros merci d'avance

Alain Roussel
"AV" a écrit dans le message de news:

J'espère avoir été clair et suis à disposition pour des explications
complémentaires


A ce sujet là...justement....;-)
Pour éclairer la "situation", donne moi les noms des différents champs de
ta

base; ce que l'on y trouve dedans comme type de valeurs et énumère les
critères

devant servir à l'extraction
Ex :
En colA les Noms, colB les date de Naiss, colC code Postal, colD
Taille......

Extraire les noms commençant par "A", dont l'age est inférieur à x qui
habitent

Paris Intra-muros et dont la taille est comprise entre 180 et 210cm ...et


AV





Avatar
AV
Le plus simple :
Tu peux me transmettre un petit extrait de fichier et exemples de résultats
attendus

AV