IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Faire ressortir les doublons par MFC


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut Faire ressortir les doublons par MFC
    Bonjour,

    Il y avait un bon moment que je n'étais pas venu vous solliciter sur ce forum... C'est avec plaisir que je vous retrouve !

    Dans un formulaire "Feuille de données", j'ai une colonne de codes APE qui sont parfois répétés X fois. Ils sont triés par ordre croissant, ce qui veut dire que ces X codes APE se retrouvent en bloc, à la suite les uns des autres.

    Ce que je voudrais, c'est poser une MFC qui me permettrait de mettre ce bloc en couleur, selon le nombre de codes APE concernés. Ca donnerait quelques chose du style "si nous sommes X à nous suivre, de même valeur, alors la MFC s'applique pour tous".

    Je vous remercie de vos prochaines réponse,
    Bien cordialement.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Le problème est que la mise en forme conditionnelle ne s'applique en théorie qu'à un seul enregistrement, il va donc falloir jouer sur les fonctions de domaines, pour cela il faut utiliser la fonction DCount (CpteDom en Français)

    Voici les étapes à suivre, je viens de tester, cela marche

    1 - Tu mets ton formulaire en mode création
    2 - Un click droit sur le contrôle APE
    3 - Tu sélectionnes "Mise en Forme Conditionnelle
    4 - Là dans la première liste déroulante tu sélectionnes Expression
    5 - Ensuite tu tapes l'expressions suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CpteDom("APE";"latable";"APE='" & [APE] & "'")>4
    Petite explication, cela va compter le nombre de champ APE (met le vrai nom de ton champ, dans la table ou requête qui alimente ton formulaire) mettre le vrai nom, le nombre de champ APE dont la valeur est égale à la valeur de ce champ, et va tester, si le nombre est supérieur à 4, je te renvoies sur pour de plus amples infos.

    As toi de jouer sur le nombre et les couleurs, attention tu n'as droit qu'à trois conditions, plus la condition par défaut.


    Starec

  3. #3
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour

    Citation Envoyé par Starec Voir le message
    Bonjour

    Le problème est que la mise en forme conditionnelle ne s'applique en théorie qu'à un seul enregistrement, ...
    D'accord avec toi avec Starec. Cela dit, j'ai un peu peur pour les temps de réponse...

    Dans le même esprit, peut être que l'on pourrait créer un indicateur dans la requête source du formulaire, par le biais d'une sous-requête par exemple... à tester si pb de performances...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par mout1234 Voir le message
    Bonjour

    D'accord avec toi avec Starec. Cela dit, j'ai un peu peur pour les temps de réponse...

    Dans le même esprit, peut être que l'on pourrait créer un indicateur dans la requête source du formulaire, par le biais d'une sous-requête par exemple... à tester si pb de performances...
    C'est vrai que le temps de réponse peut-être un peu long, mais je viens de le faire sous la version 2002, qui il me semble a des lenteurs du coté de la MFC qui ont été réglé en 2003, mais je ne l'ai qu'au TAF. Je pense effectivement qu'un indicateur en amont et un test sur celui-ci permettrait un affichage moins saccadé, car les fonctions de domaines sont puissantes, mais beaucoup moins rapides que des requêtes.

    Starec

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut
    Hello, bonsoir à vous deux,

    Merci de ta réponse, Starec, j'essaies de mettre en oeuvre un peu plus tard... Pour l'instant, je suis trop naze, la journée de boulot à été longue.

    Je vous tiens au courant dès l'essai fait.

    Bonne soirée.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Smint Voir le message
    Hello, bonsoir à vous deux,

    Merci de ta réponse, Starec, j'essaies de mettre en oeuvre un peu plus tard... Pour l'instant, je suis trop naze, la journée de boulot à été longue.

    Je vous tiens au courant dès l'essai fait.

    Bonne soirée.
    Pour moi aussi, mais on est encore là pour vous aider: HipHip pour tous les rédacteurs, modérateurs et administrateurs de DVP.


  7. #7
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut à tous, et les membres on les oublient?

    bon si je mets mon grain de sel c'est pas pour ca...
    mais plutot pour ca:
    "si nous sommes X à nous suivre, de même valeur, alors la MFC s'applique pour tous".
    il veut pas dire valeur consécutif?
    c'est pas pour casser l'ambiance... moi je dis ca comme ca...

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut
    Alors...

    Essai fait.

    Problème, la mise en forme s'applique de manière qui paraît aléatoire. Ne serait-ce pas parce que un code APE est formé de chiffres ET d'une lettre... Par exemple : 244C00 ou 365D00, etc... C'est toujours 3 chiffres + 1 lettre + 2 zéros. Il faudrait, en fait, ne prendre en compte que les 4 premiers caractères, non ?

    il veut pas dire valeur consécutif?
    Ce que je veux dire, c'est que dans la colonne, il arrive que se suivent l'un en dessous de l'autres plusieurs codes APE identiques.

    C'est vrai que le temps de réponse peut-être un peu long, mais je viens de le faire sous la version 2002,
    Le temps n'est pas un problème. Il s'agit là d'une tâche exceptionnelle. Sinon, je suis sous Office 2000.

    En attendant, vos réponse, bon début de soirée!

  9. #9
    Invité
    Invité(e)
    Par défaut
    Re

    Citation Envoyé par Smint Voir le message
    Alors...

    Essai fait.

    Problème, la mise en forme s'applique de manière qui paraît aléatoire. Ne serait-ce pas parce que un code APE est formé de chiffres ET d'une lettre... Par exemple : 244C00 ou 365D00, etc... C'est toujours 3 chiffres + 1 lettre + 2 zéros. Il faudrait, en fait, ne prendre en compte que les 4 premiers caractères, non ?
    Si tu as bien entouré le champ de quotes ('), il ne devrait pas y avoir de soucis, il faudrait que tu nous mettes ce que tu as entré. Si tu veux prendre en compte les 4 premiers caractères, il faut utiliser la fonction Gauche().

    Ce que je veux dire, c'est que dans la colonne, il arrive que se suivent l'un en dessous de l'autres plusieurs codes APE identiques.
    Que les données soient continues ou non, cela ne pose pas de problèmes.

    Starec

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut
    Starec, voici ce que j'ai entré. Histoire de ne pas avoir de problème de syntaxe, je procède toujours par copier/coller, quand vous me demander de poser un code. Ah, au fait, je ne suis pas informaticien...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CpteDom("APE";"Entreprises";"APE='" & [APE] & "'")>4

  11. #11
    Invité
    Invité(e)
    Par défaut
    Re

    Citation Envoyé par Smint Voir le message
    Starec, voici ce que j'ai entré. Histoire de ne pas avoir de problème de syntaxe, je procède toujours par copier/coller, quand vous me demander de poser un code. Ah, au fait, je ne suis pas informaticien...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CpteDom("APE";"Entreprises";"APE='" & [APE] & "'")>4
    Question : APE est bien le nom du champ dans la table Entreprises ?

    Pourtant ton code est correct, c'est bizarre que cela te donne des choses aléatoires.

    Je ne suis pas non plus informaticien, c'est un nom qui englobe la profession, je suis développeur

    Starec

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut
    Oui, Nom du champ : APE, Type : Texte, Nb de caractères : 6



    Le 245C00 ne devrait pas être rouge...
    Les deux 261C00 devraient être rouges...
    Idem pour les deux 299C00, 410Z00...

    Tiens Starec, nous sommes presque voisins

  13. #13
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 912
    Points : 4 811
    Points
    4 811
    Par défaut
    Pour info :
    Dans un formulaire "Feuille de données", ...
    jusqu'en access2000 en tout cas les MFC ne fonctionnent pas en mode DS.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut
    MFC ne fonctionnent pas en mode DS
    Pardon ? C'est quoi, le mode DS ?

    J'ai des formulaires feuilles de données avec des MFC qui fonctionnent parfaitement....

    Bon, on verra tout ça demain... Il se fait tard....
    Bonne nuit tout l'monde !

  15. #15
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    Il y a peut-être des restrictions dans la source de données du formulaire ?
    Du style
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Entreprises WHERE (...) ORDER BY APE
    Ou alors un filtre appliqué au formulaire.

    Dans un cas comme dans l'autre, il faut les répercuter dans CpteDom.

    A+

  16. #16
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Citation Envoyé par Smint Voir le message

    Les deux 261C00 devraient être rouges...
    Idem pour les deux 299C00, 410Z00...
    Heu non, il ne devrait pas être en jour, car dans ton critére tu as > 4.
    L'exemple que je t'ai donné est à adapter, c'était surtout le principe, il faut jouer sur les > <, etc..

    Tiens Starec, nous sommes presque voisins
    Non, il vient de déménager


    Starec

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut
    Hello, bonjour à tous !

    Il y a peut-être des restrictions dans la source de données du formulaire ?
    Effectivement, le formulaire est issu d'une requête dont voici le code SQL :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Entreprises.SIRET, Entreprises.[Raison Sociale], Entreprises.Enseigne, Entreprises.APE
    FROM Entreprises
    WHERE (((Entreprises.NumLStat)=25));


    Dans un cas comme dans l'autre, il faut les répercuter dans CpteDom.
    Je suis, malheureusement, totalement incapable de le faire. Merci d'avance à celui qui voudra bien me guider ....

    Edit : Salut Starec, nous nous sommes croisés... Plus dans le Loir et Cher ?

  18. #18
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour à tous,

    Citation Envoyé par Smint Voir le message
    Je suis, malheureusement, totalement incapable de le faire. ...
    Une fonction de domaine telle CpteDom attend trois arguments, assimilables aux composantes d'une requête SQL simple, respectivement:
    • SELECT
    • FROM
    • WHERE


    Dans ton cas, il te faut donc compléter le troisème argument
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =CpteDom("APE";"Entreprises";"APE='" & [APE] & "' AND NumLStat=25")>4

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut
    Merci !

    Arrrgghhhh .... flute ! Erreur de syntaxe !

    Je cherche, mais comme j'y vais au pif, je pédale dans la semoule....

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut
    Je ne trouve pas comment adapter le code de l'ami MOUT1234. Il y a systématiquement une erreur de syntaxe.

    Merci à la bonne âme qui pourrait le corriger ...

    Bon weekend à tous !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/08/2011, 16h52
  2. Marquer les doublons par paire
    Par Cercle dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/10/2008, 12h31
  3. Réponses: 0
    Dernier message: 16/09/2008, 11h49
  4. [vba-e] faire ressortir les valeurs différentes d'une sélection
    Par legillou dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/03/2007, 17h19
  5. [SQL] Enlever les doublons par rapport a une colonne
    Par irenee dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/12/2005, 19h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo