Classer des codes sur une seule ligne + condition

Bonjour à toutes et à tous,

Je souhaiterai valider une base de données pour pouvoir l'exploiter ensuite. J'ai environ 3500 dossiers qui appartiennent à environ 1600 individus différents, chaque personne pouvant avoir plusieurs dossiers. Chacun de ces individus a un identifiant pour mieux le repérer. Je connais le nombre de dossiers par individus. Je sais également à quel groupe appartient chaque dossier. Il y a entre 10 et 12 groupes possibles (peut-être plus).

Pour que ma base de données soit valide, chaque individu ne devrait appartenir qu'à un seul et unique groupe, peu importe le nombre de dossiers mais ce n'est pas le cas. Je suis donc en train de recenser les cas, et je voudrais faire apparaitre pour chaque identifiant, une liste successive de tous les groupes dans lesquels un individu est identifié. Toutefois, je ne dois pas avoir de répétition. Si une personne qui a quatre dossiers est codée 01, 99, 02 et 99 : je voudrais qu'apparaisse en E: 01-99-02 et non pas 01-99-02-99.

Un autre exercice consisterait à en profiter pour repérer les groupes qui m'intéressent et qui sont les groupes 01 et 02. Je voudrais faire apparaître en G, le mot OK chaque fois qu'une personne aura le code 01 (sans autre suite de chiffres) et 02 (sans autre suite de chiffres).

Est-il possible de faire cela ? Le fait de travailler sur deux feuilles différentes rend-il cela possible ?

Je mets le fichier-test en PJ, en vous remerciant par avance pour votre aide.

bonjour

une tentative (en bleu )

je ne sais gerer les0 avant un nombre ; de plus il faudrait ameliorer la formule si il y des triples ou plus

tu auras certainement mieux en vba

38leylani.zip (22.69 Ko)

cordialement

Bonjour et merci Tulipe pour ta proposition,

Il y a certaines formules que je peux reprendre sur mon document, en revanche, je n'ai pas compris dans ton test, à quel endroit tu ajoutes manuellement les noms des personnes suivantes + leur groupe avant que ce ne soit traité ? Sur la feuille 1 ou 2 ?

Bonjour

Avec une macro

Wow merci pour ton fichier Banzaï64, ça m'a l'air de fonctionner ! J'ai passé près de deux jours à faire ça manuellement et en plus, il y a surement des erreurs...Ah le pouvoir de la macro !

Est-il possible de multiplier les conditions suivantes :

  • Si en E, on a 01 ou 02 +Do ou 99 ==>renvoyer OK en G mais rien en F
  • Si en E, on a 01 ou 02 + 999==> renvoyer "à vérifier" en F et en G ?
  • Si en E, on a 03 ou 04 ou 05 ou 06 ou 07 + 999===> renvoyer A vérifier en F mais "Hors échantillon" en G.

En fait, on ne parle de "double" (ou "trop") que lorsque deux chiffres ou plus parmi 01, 02, 03, 04, 05, 06, 07 apparaissent pour une même personne donc sur la même ligne.

Si on a 03-07-99, il s'agit bien d'un double.

Si on a 01 et 99 ou 999, ce n'est pas un double (99 et 999 correspondant grosso modo au groupe "inconnu" et "non identifié").

Si ça a l'air compliqué, je pense de toute manière qu'après une bonne nuit de sommeil, je serai d'attaque pour vérifier les conditions manuellement !

Merci par avance.

Bonjour

Je veux bien essayer

Mais quand tu dis

leylani a écrit :

Si en E, on a 01 ou 02 +Do ou 99 ==>renvoyer OK en G mais rien en F

veut dire que si dans E on a 01 on note OK en G et Rien en F

Ensuite tu dis

leylani a écrit :

Si en E, on a 01 ou 02 + 999==> renvoyer "à vérifier" en F et en G ?

Veut dire si dans E on a 01 on note "A vérifier" en F et en G

Donc 2 choix possibles si 01 dans E

Si tu y arrives toute seule à traiter ces cas, tant mieux pour toi

Sinon dans le fichier fait un exemple des cas possibles

Merci

Bonjour,

Oui en E, on a effectivement deux possibilités selon la combinaison des groupes :

  • si on a 01 ou 02 + Do ou 99, c'est OK en G, car 99 et Do sont équivalents à 0 (nul). Aucune vérif n'est nécessaire en F.
  • en revanche, si 01 et 02 sont combinés avec 999 dans la ligne, alors c'est à vérifier, car 999 peut être en réalité un 03, un 04 ou un autre groupe, ce qui risquerait de créer une incohérence. Et comme les groupes 01 et 02 sont les seuls qui doivent faire partie de l'échantillon, je dois vérifier que chaque individu ne se retrouve pas dans le groupe cible + un autre groupe. Le chiffre 999 implique toujours une vérification en F, qu'il soit suivi de 01, 02 ou d'autre chose. Mais en G, il n'implique pas de vérification, s'il n'est pas combiné à 01 ou 02.

Je ne sais pas trop si je suis claire mais voilà le fichier avec les combinaisons existantes.

Merci d'avance

Bonsoir

je viens de voir le fichier ..... heuuuuu il y en a beaucoup de conditions

Je ne garanti rien pour la faisabilité du programme

wait & See

Surtout ne te prends pas la tête,de toute manière je vais passer à travers, manuellement.

Après tout, il n'y en a que 65 et après avoir mis deux jours pour trier 3000 dossiers, plus rien ne me fait peur Ca ne devrait pas me prendre trop de temps.

Le plus simple reste d'éliminer les cas non ambigus et de ne faire que quelques conditions,

si 01 ou 02, renvoyer OK (tu m'avais déjà mis la formule) en G.

si 03 ou 04 ou 05 ou 06 ou 07 ou 99, renvoyer Hors échantillon en G.

si 999, renvoyer A vérifier en F et Hors échantillon en G.

Pour les autres combis, on peut laisser vide, je vérifierai manuellement.

Merci infiniment !

Bonjour

Dans la formule j'ai considéré qu'il n'y avait qu'un groupe comme résultat

C'est nickel ! Je voulais rajouter la condition si E6 = Do, alors G6=Hors-échantillon. J'ai pu modifier la formule Excel directement et ça fonctionne mais est-ce que je dois aussi aller modifier la macro ? Ou ça n'a pas d'incidence ?

Bonjour

Cela n'a pas d'incidence tant que tu ne relances pas la macro

Fais une macro avec la nouvelle formule, puis places là dans la macro comme cela plus de problème

Sinon notes la formule ici

Marques dans quelle colonne elle doit aller

La formule est : =SI(OU(E7="01";E7="02");"OK";SI(OU(E7="03";E7="04";E7="05";E7="06";E7="07";E7="99";E7="999"; E7="Do");"Hors-échantillon";"")).

Elle doit s'appliquer à la colonne G;

Merci encore !

Bonjour

Ton fichier avec la formule directement dans la macro

Bonsoir et merci Banzai64 pour la modif !

Je viens seulement de me rendre compte d'un petit "hic", désolée de ne pas l'avoir remarqué plus tôt :

Lorsque je lance le bouton "Regroupement", sur la page Résultat, le nombre de dossiers par personne n'est pas exact.

Par exemple, Victoria Jacques a deux dossiers au total (ce qui apparaît bien sur la feuille "Exemple") mais n'en a plus qu'un sur la feuille "Résultat". Or, on voit bien qu'elle est dans deux groupes différents (02 et 07). C'est également le cas pour Pierre Dupuis.

Est-il possible de m'indiquer la modif pour que chaque personne, garde le nombre de dossiers au total dont elle dispose sur la feuille Résultat aussi, quand je lancerai le bouton "Regroupement ? Cela afin de "garder une cohérence dans mes incohérences"

En vous remerciant par avance,

Leylani

Bonjour

A vérifier

Ca a l'air de fonctionner merci ! Si j'ai bien compris, si je modifie le nom de la feuille "Exemple", je dois donc modifier "Exemple!" par le nouveau nom de ma feuille dans la macro ?

Bonsoir

leylani a écrit :

si je modifie le nom de la feuille "Exemple", je dois donc modifier "Exemple!"

Tu as tout compris

Mais attention aux espaces dans le nom de la feuille

dans ce cas il faudra entourer la nom avec des guillemets simples (apostrophe)

Comme ceci

"=TEXT(COUNTIF('Nom avec espace'!C1,RC1),""00"")&""-""&TEXT(RC4,""0000"")""

Je n'ai pas trouvé d'autre moyen pour compter les dossiers

Je devrais m'en sortir, merci beaucoup !

Bonjour, je récidive sur le même sujet.

Je voudrais regrouper tous les codes d'une colonne par personne, sachant que ces personnes apparaissent plusieurs fois. Lors de ma précédente demande, j'avais voulu le faire uniquement pour la colonne "Groupe". Je souhaiterais maintenant regrouper toutes les infos sur ma feuille de travail (Vérifcode) de façon à pouvoir vérifier que tout est harmonieux c'est-à-dire qu'une personne n'est que dans un seul groupe, n'a qu'une seule date de naissance et qu'elle est bien identifiée comme homme ou femme pour chaque dossier.

De cette façon, j'aurai une base de données "propre" avec une liste d'individus uniques et toutes leurs caractéristiques, ce qui permettra ensuite d'éliminer les dossiers défaillants dans mon échantillon.

Concrètement, Codif est ma base de saisie des données. Verifcode permet de vérifier les incohérences dans cette saisie.

- sur VerifCode, dans la colonne E, je voudrais rassembler tous les groupes (colonne G) identifiés pour chaque personne dans la feuille Codif, de façon à vérifier que chacun soit bien dans un seul groupe. Cette commande avait déjà été réalisée par Banzai64 à partir de la commande Regroupement (cf feuille Codif) mais elle ne fonctionne plus certainement parce que j'ai changé de nom de dossier et que je n'arrive pas à faire apparaitre les codes dans Alt F11.

- sur VerifCode, je voudrais de la même manière, faire apparaitre en H, la date de naissance de chaque individu et en J, le sexe de chaque individu, tout cela en fonction des informations entrées sur la feuille Codif.

Je mets le fichier test en pièce jointe.

En vous remerciant par avance pour le temps et l'énergie passées à m'aider.

Leylani

Rechercher des sujets similaires à "classer codes seule ligne condition"