Recherche valeurs manquantes liste non triée

Résolu
Colombani Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voici mon problème:
Dans mon entreprise nous essayons de mettre en place un suivi des bons de sortie du matériel.
Pour ce faire la secrétaire remplie un tableau dont les colonnes importantes pour mon problème sont les suivantes:
Colonne 1: date du bon de sortie
Colonne 2: n° bon de sortie

Exemple:
01/01/2013 10
02/01/2013 2
03/01/2013 7
04/01/2013 20
05/01/2013 6
06/01/2013 1
07/01/2013 12
08/01/2013 7
09/01/2013 8
10/01/2013 9
11/01/2013 7
12/01/2013 12
13/01/2013 17
14/01/2013 17
15/01/2013 5
16/01/2013 8
17/01/2013 11
18/01/2013 18
19/01/2013 1

Le problème est qu'il manque un certain nombre de bon de sortie, et dans un liste contenant environ 1000 bons par mois, il n'est pas facile de trouver les numéros manquants, d'autant plus qu'ils ne sont et ne doivent pas être triés (la date du bon faisant le tri).
Mon but est d'arrivé à cette solution:
01/01/2013 10 ok
02/01/2013 2 ok
03/01/2013 7 ok
04/01/2013 20 ok
05/01/2013 6 ok
06/01/2013 1 ok
07/01/2013 12 manque du 13 au 16
08/01/2013 7 ok
09/01/2013 8 ok
10/01/2013 9 ok
11/01/2013 7 ok
12/01/2013 12 manque du 13 au 16
13/01/2013 17 ok
14/01/2013 17 ok
15/01/2013 5 manque du 3 au 4
16/01/2013 8 ok
17/01/2013 11 ok
18/01/2013 18 manque du 19 au 19
19/01/2013 1 ok

La fonction que j'utilise actuellement est la suivante:
=SI(ESTERREUR(EQUIV((B2+1);$B$2:$B$20;0));"MANQUE BS DE "&B2+1&" à "&(INDEX($B$2:$B$20;RANG(RECHERCHE((B2+1);$B$2:$B$20);$B$2:$B$20;1)+1)-1);"OK")

Mais elle ne fonctionne pas vraiment.

Les contraintes de la formules sont les suivantes:
- Pas de tris des n° de bons,
- Pas de colonne supplémentaires
- Pas de formules à valider par une combinaison de touches.

J'ai passer pas mal de temps à lire les forums mais je n'ai pas trouvé la solution exacte à mon problème.

Merci d'avance à ceux qui me proposerons des solutions, bonnes ou non.

Cordialement.

A voir également:

20 réponses

Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Je vous découvrir ma proposition. Les TCD prend en compte le nombre des lignes de données automatiquement (plage de données dynamique). La liste des BS manquant est mise à jour automatiquement (rien à faire).
Le fichier : https://www.cjoint.com/?3BbjaHI5Kqc

1
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,

Et c'est normal qu'il y ait des doublons dans les numéros de bon de sortie (1,7,17...) ?

vu les contraintes indiquées, solution par VBA... OK ?
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Juste au passage, est-ce qu'un numéro de bon est unique .... ?
Quelle est le critère pour déterminer les numéros manquants ?


Salutations.
Le Pingou
0
Colombani Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
@michel_m

Il est normal qu'il y est des doublons, en fait l'exemple a été mal conçu, les doublons dans les numéros de bon doivent avoir aussi des doublons dans les dates, car dans le tableau final, il y a: la date du bon, le numéro, le(s) matériel(s) (une ligne par matériel d'ou les doublons)

exemple
date n° Type
01/01/13 | 2 | pelle
01/01/13 | 2 | pioche
01/01/13 | 3 | marteau

Je n'ai jamais fait de VBA, mais il est jamais trop tard pour apprendre, seulement, ce document est destiné à un utilisateur ne connaissant pas vraiment le logiciel, et qui veut juste par une lecture, après remplissage du tableau, quels sont les bons manquants.

@Le Pingou
Un numéro de bon est unique sur le carnet, mais dans le cas précis non car il est répété autant de fois qu'il y a de matériel différent sortie

Le critère est de savoir si des bons de sorties n'ont pas été transmis, ces bons nous permettent de faire des mutations et de suivre le matériel, s'il n'est pas enregistré nous ne savons plus ou il ce matériel se trouve (vol en général).
Nous savons avec le numéro du bon qui est le détenteur du carnet, et il devra se justifier si un bon n'est pas transmis.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Colombani Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
En reprenant à zéro voici ou j'en suis avec la formule suivante:

=SI(ESTERREUR(RECHERCHEV(B2+1;Feuil1!$B$2:$B$20;1;FAUX));"manque";"ok")

date n°Résultat formule Résultat voulue
01/01/2013 10 ok ok
01/01/2013 11 ok ok
02/01/2013 2 manque manque BS de 3 à 4
03/01/2013 7 ok ok
03/01/2013 7 ok ok
03/01/2013 7 ok ok
04/01/2013 20 manque Dernier BS
05/01/2013 6 ok ok
06/01/2013 1 ok ok
06/01/2013 1 ok ok
07/01/2013 12 manque manque BS de 13 à 16
07/01/2013 12 manque manque BS de 13 à 16
09/01/2013 8 ok ok
09/01/2013 8 ok ok
10/01/2013 9 ok ok
13/01/2013 17 ok ok
13/01/2013 17 ok ok
15/01/2013 5 ok ok
18/01/2013 18 manque manque BS de 19 à 19

L'affichage n'est pas très clair, il y a 4 colonnes: date, n° du BS; résultat donné avec la formule ci dessus, résultat voulue.

Ce qu'il me manque c'est de trouvé si n° de bon suivant n'est pas dans la liste alors il trouve le numéro de bon supérieur le plus proche.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Merci pour l'information.
Concernant le critère je pense plutôt que vous vous basé sur le dernier numéro du bon, soit le 20 dans votre exemple... Oui / Non.
Note : est-il concevable d'avoir le résultat des numéros manquants sur une autre feuille ?

0
Colombani Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
En premier lieu j'aimerais que tout ce passe sur une colonne, quitte à faire une formule longue, si cela s'avère impossible pourquoi pas.

Ma formule pour l'instant fait ce travail par lignes:
Affiche "ok" si le numéro de bon suivant (B2+1) est dans la liste, afiche "manque" sinon
Pour le dernier numéro (ici 20) je n'ai pas encore fait l'affichage "Dernier BS" mais ce ne sera pas dur.
Ce qu'il me faut, c'est que si le numéro de bon suivant n'est pas dans la liste alors j'affiche: "Manque BS n° "&B2+1&" à "Numéro juste supérieur à B2 appartenant à la liste"
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Voici une proposition pour voir si cela convient : https://www.cjoint.com/?3ADxRmMMQDh

0
Colombani Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Pour l'instant, même si ta solution fonctionne, elle ne répond pas à mes critères, notamment celui de la mise en page (1 seule colonne)

Si je n'ai pas d'autre solution j'essaierais de l'adapter à ma feuille.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Oui je sais que cela ne correspond pas à votre demande.
Par contre vous avez une vue directe des BS manquants sans devoir parcourir les 1000 lignes de données.
Note : je n'ai aucune solution via des formules avec le nombre de contraintes à prendre en compte.

0
Colombani Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Dans ce cas est-il possible de modifier cette solution comme ceci:

Sur une nouvelle feuille, prenant en compte l'ensembles des feuilles, même après rajout d'une nouvelle feuille et lorsqu'il manque plusieurs BS qui se suivent que sa affiche par exemple:
Manque BS du n° 2 à n°5
au lieu de
Manque BS n°2
Manque BS n°3
Manque BS n°4
Manque BS n°5
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Je pense que c'est possible.
Merci de préciser ce qu'il faut comprendre par : prenant en compte l'ensemble des feuilles ?
Et aussi l'intitulé si un seul BS manquant.... ?

0
Colombani Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Il y a une feuille par mois ; + une feuille avec ta solution qui va chercher dans chaque feuilles.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
J'ai oublié pouvez- vous mettre un exemple de votre fichier (2 à 3 feuilles avec une dizaine de lignes) sur https://www.cjoint.com/ et poster le lien.
De cette manière le code VBA sera adapté à votre fichier.... !

0
Colombani Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Merci, cela a le mérite d'être court et bref ce qui est apprécié à sa juste valeur .... !
Petite question.
Il est toujours préférable de laisser la place libre sous le tableau des données, hors le TCD qui si trouve serait mieux placé et aussi plus accessible s'il se trouvait sur la droite du tableau.
Est-ce concevable pour vous ...Oui / Non ?
Si oui je vais intégrer votre TCD sous forme de données dynamique (s'adapte à la table des données automatiquement).

0
Colombani Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Excusez moi pour la réponse brève, l'habitude des mails de boulots - aller à l'essentiel!.

Oui pas de problèmes pour déplacer le tableau, je pense que ce sera mieux ainsi.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Merci, patience pour la suite.
0
Colombani Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Qu'un mot à dire! Magnifique!!

Merci beaucoup je vais faire valider ça, en disant bien sur que cette méthode vient uniquement de ma réflexion.

Merci encore
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Merci pour l'information. Bonne suite.

0