Recherche dans Table avec des Plages de N°

Fermé
MikeThe7 - 1 juil. 2011 à 14:51
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011 - 23 sept. 2011 à 16:51
Bonjour,

J'ai des listes de numéros sur plusieurs feuilles de calcul.
J'aimerai avoir un outil me permettant de savoir si un numéro recherché est dans une des listes ou pas. Rien de compliqué en soit avec RechercheV, mais je me heurte à un problème de taille :
Sur certaines lignes, il n'y a pas qu'un seul numéro mais une plage de numéro marquée comme suit (le 1er numéro dans un cellule, le signe "-" dans la cellule d'à coté et le 2ème n° dans la cellule de droite) :
1000012447 - 1000013105
Si dans ma recherche je tape le numéro 1000012567, comment faire pour que Excel comprenne que le n° est bien dans la liste et m'affiche le reste de la ligne qui contient les informations se rapportant à ce numéro ?
Je ne sais pas si je suis bien clair pour tout le monde. N'hésitez pas à me rediriger si un sujet a déjà répondu à cette question.

D'avance merci à tous.

A voir également:

30 réponses

Raymond PENTIER Messages postés 58721 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 15 novembre 2024 17 235
2 juil. 2011 à 12:56
Bonjour.

Ce n'est pas ainsi que j'ai interprété la question de MikeThe7 : les 2 numéros placés dans une cellule seraient les bornes d'une série de valeurs possibles ; ainsi 1000012567 est compris entre 1000012447 et 1000013105 et doit être pris en compte ... Est-ce bien cela ?
2
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 2/07/2011 à 13:23
Bonjour tout le monde,

Je suis d'accord avec la lecture de raymond.

Mais je lis aussi :
- listes de numéros sur plusieurs feuilles de calcul
- Sur certaines lignes, il n'y a pas qu'un seul numéro
donc sur certaines il n'y en a qu'un. En colonne A, C ?
Tout ceci risque de compliquer singulièrement la demande...

En attendant, si tu peux te ramener au cas plus simple de toutes les plages sur une feuille et les plages d'1 numéro mis sous la forme 153 - 153 tu peux faire ainsi :
Avec le n° recherché en F2, n° de la ligne concernée :
=SOMMEPROD((F2>=$A$2:$A$8)*(F2<=$C$2:$C$8)*LIGNE($C$2:$C$8))
donc si tu veux l'info de la colonne D :
=INDEX(D:D;SOMMEPROD((F2>=$A$2:$A$8)*(F2<=$C$2:$C$8)*LIGNE($C$2:$C$8)))

sinon un classeur exemple serait le bienvenu.
cijoint.fr et coller ici le lien fourni

eric
0
Mike-31 Messages postés 18346 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 13 novembre 2024 5 104
Modifié par Mike-31 le 2/07/2011 à 15:07
Salut,

Si j'ai bien compris ta question, pour faire une recherche avec un mot clé ou une partie de la valeur recherchée, il faut utiliser le joker *

exemple en C1 tu saisis la partie droite de la valeur recherchée 1000012447

cette valeur est recherchée dans une plage nommée dans mon exemple Liste dans la colonne 2

=RECHERCHEV(C1&"*";Liste;2;0)

ou travailler par ligne numéros commençant en A1 et B1 en C1 les critères

=RECHERCHEV(C1&"*";A1:B1;2;0)
ou avec gestion d'erreur
=SI(ESTERREUR(RECHERCHEV(C1&"*";A1:B1;2;0));"";RECHERCHEV(C1&"*";A1:B1;2;0))

la formule peut évoluer afin de na pas afficher le message d'erreur si la valeur n'existe pas ou afficher un message vrai ou faux par exemple
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
1
Raymond a très bien compris ma demande. Le but de cet outil serait d'afficher les colonnes G et H, si le numéro recherché est dans l'une des listes des différentes feuilles de calcul.

Je vais tester la méthode d'Eric qui semble se rapprocher le plus de ce que je recherche.

Un grand merci également Mike-31, forcément en s'appelant Mike, ta réponse est digne d'intérêt :)

C'est lundi matin, donc pas mal de travail en ce début de semaine, je me mettrais sérieusement dessus cet après-midi.

En attendant si cela peut vous aider à mieux comprendre ma requête, voici le fichier en question :

http://www.cijoint.fr/cjlink.php?file=cj201107/cijwuFhDIz.xlsx

Encore un fois merci à tous pour vos réponses.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 5/07/2011 à 19:55
Bonjour,

Vu qu'il faut consulter plusieurs feuilles ça risque d'être difficile par formule.
Ca sera plutôt en vba.

Ca peut-être une fonction personnalisée (utilisable comme une fonction excel) ou un programme qu'on lance et qui traite 1 ou plusieurs lignes avec des références.

D'ou plusieurs questions...
Toutes les références commençant par 1 se retrouvent toujours dans une feuille nommée "1", celles commençant par 2 dans une feuille "3" etc ?
Les références sont-elles saisies une à une ou est-ce une liste déjà formée ?
Faut-il ramener un champ par son n° de colonnes (comme recherchev()) ?
ou bien toute la ligne d'un coup ? Dans ce cas faut-il conserver le n° individuel ou la plage ou les 2 ?
Les n° de doc sont-ils toujours triés ?
Y-t-il toujours qu'une seule réponse possible ?

Si c'est une utilisation au coup par coup on peut aussi envisager d'activer la feuille avec la ligne concernée électionnée (ou filtrée)

Soit le plus précis et complet possible sur les réponses, le fonctionnement et le mode d'emploi que tu envisages...

eric
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
6 juil. 2011 à 08:30
Bonjour Eric,

Je pense également que vu la complexité, une macro serait plus adaptée à la situation.

Pour répondre à tes questions, dans l'ordre :
- Oui, toutes les références commençant par 1 seront sur les feuilles nommée "1", puis "1 (1)", puis "1 (2)", etc... Sur la feuille "1" sont stockées les références de 1 à 10000, sur "1 (1)" de 10000 à 20000, etc... J'ai adopté ce fonctionnement pour le moment pour faciliter la recherche, mais rien n'empêche de mettre tous les 1000... sur une seule feuille, les 2 sur une autre et les 3 sur une troisième, ou même de mettre toutes les références sur la même page, cela dépendra du coté pratique de l'outil de recherche.
- Oui, les références sont saisies une à une, ce qui signifie que des lignes vont être insérées et que la taille du tableau est potentiellement en constante expansion.
- Le top serait de "ramener" toute la ligne : lorsque c'est une plage de numéro, l'avantage de ramener la ligne complète m'indique que le numéro recherché fait partie d'un lot.
- Les n° sont toujours triés par ordre croissant. Là encore, si l'outil de recherche est adapté, ce n'est pas une obligation ; c'est le cas actuellement pour faciliter la recherche.
- Oui, il n'y a qu'une seule réponse possible. Si le même numéro se retrouve plusieurs fois dans le tableau, c'est une erreur de saisie de ma part.
- Oui, c'est principalement une utilisation au coup par coup. J'avais également pensé à utiliser le filtre automatique pour résoudre le problème, mais cela signifie que je dois me positionner sur la bonne feuille pour chaque recherche.

L'idéal pour cet outil serait qu'au moment où un numéro est tapé dans une cellule de la feuille dédiée pour la recherche, il suffit juste de valider en tapant sur "Entrée" sans avoir à cliquer sur un bouton qui lance la macro (une macro événementielle en somme).
Le résultat affiché serait la ligne complète correspondant au numéro recherché, et si le numéro n'est pas présent dans la table, un message indiquant que le numéro n'a pas été trouvé.

C'est un peu trop compliqué pour moi, je te remercie donc de te pencher sur mes lacunes en VBA.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 6/07/2011 à 10:03
Bonjour,

ok, j'y vois plus clair sur le besoin.

...seront sur les feuilles nommée "1",..
Donc recherche sur toutes les feuilles dont le nom commence par un chiffre (O/N)

- Le top serait de "ramener" toute la ligne : lorsque c'est une plage de numéro, l'avantage de ramener la ligne complète m'indique que le numéro recherché fait partie d'un lot.
Faut-il cumuler les recherches ou afficher uniquement celle en cours ?
Ou les 2 via une case d'option et un bouton raz..

- Les n° sont toujours triés par ordre croissant. Là encore, si l'outil de recherche est adapté, ce n'est pas une obligation ; c'est le cas actuellement pour faciliter la recherche.
Donc tu ne trieras plus et tu ne vois pas d'inconvénient à ce que la macro le fasse pour augmenter sa réactivité (O/N)

Si le même numéro se retrouve plusieurs fois dans le tableau, c'est une erreur de saisie de ma part.
Faut-il les rechercher et les signaler ou ça sera des doublons exacts sans importance ? (O/N)
Eventuellement ajouter un contrôle lors de la saisie de données en D:E ? (O/N)

L'idéal pour cet outil serait qu'au moment où un numéro est tapé dans une cellule de la feuille dédiée pour la recherche, il suffit juste de valider en tapant sur "Entrée"
Si tes ref font toujours 10 chiffres on peut faire en sorte de ne pas à avoir entrée à saisir. (O/N)
Ou bien, à la saisie, de remplacer les 0 à partir du 2nd chiffre par un espace et la macro recomplète avec le nombre de 0 qu'il faut pour faire la recherche (O/N)
ex : saisir 1 9915 pour rechercher 1000009915

eric

PS: si tu préfères la saisie de toutes les données sur une feuille unique c'est possible et même plus facile ( un tout petit peu, donc c'est selon tes préférences réelles)
0

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

Posez votre question
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
7 juil. 2011 à 08:49
Bonjour Eric,

Pour répondre à tes questions :

- Oui, toutes les feuilles seront nommées par un chiffre en premier caractère.

- Afficher celle en cours peut suffire, après je ne me suis pas posé la question de savoir si 2 outils de recherche simultanés pour 2 recherches différentes peuvent être utiles...

- Oui si la macro fait le tri à ma place c'est parfait, ce n'est pas compliqué, mais cela m'économisera des clics à chaque fois que j'ai inséré de nouveaux numéros.

- Un contrôle des doublons à la saisie est également une option très intéressante. Ma préférence serait un contrôle à la saisie, mais si c'est via un bouton, c'est bien aussi. Les doublons alourdissent la table pour rien.

- Les réf font et feront toujours 10 chiffres. Si la macro complète les zéro manquants à la recherche c'est aussi une très bonne chose. Je ne pensais pas que cela était possible, j'avais tenté de modifier le format pour que, quand j'entre un numéro dans la table, les zéro soient complétés automatiquement, mais sans succès.

Ma préférence va quand même pour séparer les tables tous les 10000 numéros, mais si cela est vraiment problématique, je ne vois pas d'inconvénient à n'avoir que 3 ou 4 feuille pour chaque début de numéro (1000... , 2000..., etc...)

Quand je lis les questions que tu poses, je me rend compte de plus en plus de la complexité de la demande. Je comprendrais sans problème que tu sois découragé :)

Merci à toi une nouvelle fois.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
7 juil. 2011 à 10:39
Bonjour,

Mes questions sont là pour bien cerner ta demande.
C'est plus facile de faire bien du 1er coup que de modifier ensuite.
Ta demande n'est forcément complexe mais demande un peu de travail, et je pars bientôt en vacances. Là le temps risque de me manquer...
Si ça n'a pas avancé je m'y attelle à mon retour dans 10 jours.
eric
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
7 juil. 2011 à 10:47
Je fonctionne avec le fichier que j'ai uploadé pour le moment, c'est peu pratique mais je m'y fais.
Et ne te fais pas de soucis, au vue de mes connaissance en VBA, je ne pense pas réussir à réaliser cela seul, donc ton aide est la bienvenue, même si ce n'est pas réalisé avant tes vacances.

Profites bien de tes congés, à bientôt.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 7/07/2011 à 12:58
re,

Je fonctionne avec le fichier que j'ai uploadé pour le moment, c'est peu pratique mais je m'y fais.
Je te met le bout que j'ai fait des fois qu'il n'y ait pas trop de bugs et que ça te dépanne...

- la recherche est lancée si la ref saisie fait 10 car. (je ne contrôle pas s'il y a des lettres, ça plantera si c'est le cas)
- s'il y a un espace ou un . en 2nd caractère la ref est complétée avec des 0 pour faire 10 car.
ex : pour rechercher 3000000595 on peut saisir 3 595 ou 3.595
- si la ligne affichée correspond aux critères, D2 "N° Document" est mis en vert clair.
Dans certains cas je n'efface pas le résultat précédent.
Par exemple tu as recherché 3000000551, D2 est vert car trouvé.
Tu effaces le dernier caractère pour le remplacer par un 2, 3000000551 est toujours affiché que tu l'aies tjs sous les yeux, mais D2 passe blanc car non conforme (il manque un car. à la ref)
Ce fonctionnement n'existe que pour la saisie complète de la référence. En saisie courte 3 55 recherche 3000000055 et affiche 'inexistant"

- les feuilles sont supposées triées (important!!!!)
- si doublons la 1ère ligne trouvée est ramenée

Alors non testé complètement, contrôle la fiabilité.
Assure-toi que les non trouvés n'existent réellement pas. A ce sujet en feuille "3", dans F13 et F15 il manque un 0 aux ref de la colonne F. J'ai corrigé mais il y en a peut-être d'autres


http://www.cijoint.fr/cjlink.php?file=cj201107/cijOnV4570.xls

eric
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
7 juil. 2011 à 14:48
Truc de fou !

Comment as-tu fait pour réaliser cela aussi rapidement ? Je viens juste de tester, avec des numéros qui était compris dans des plages, ça à l'air de bien fonctionner !

Je vais me pencher un peu sur le code pour voir si je peux y comprendre qq chose.

La question maintenant pour l'évolution du fichier, comment cela va-t-il se passer si j'insère d'autres pages ?

Bref, avant de poser des questions je vais étudier plus en profondeur ton chef d'oeuvre...

Chapeau bas Monsieur Eric.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 7/07/2011 à 23:36
Re,

La question maintenant pour l'évolution du fichier, comment cela va-t-il se passer si j'insère d'autres pages ?
Ben bien normalement.
Je recherche une ref commençant par 1 dans toutes les feuilles dont le nom commence par "1"

nouvelle version avec qcq modif :

- La saisie courte se fait avec un / (ex : 3/595), l'espace ou le . créaient des anomalies.

- la couleur de contrôle de recherche (anciennement en D2) se fait dans la textbox, c'est plus visible.
jaune : en attente de fin de saisie (saisie non conforme)
rose : saisie valide non trouvée
vert : saisie valide trouvée

http://www.cijoint.fr/cjlink.php?file=cj201107/cij4rZyTFl.xls

eric
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
8 juil. 2011 à 08:37
C'est vrai que c'est beaucoup plus lisible et clair ainsi.
Si je peux me permettre une petite observation :
Le tableau est trié, nous sommes d'accord là dessus.
J'ai une plage de numéro par exemple 1000012300 - 1000012400 -> factures redonnées
Juste en dessous j'ai une ligne 1000012350 -> étiquettes annulées

Le but est que je sache que dans la plage citée j'ai un numéro qui n'a pas été redonné mais supprimé. Dois-je adapter ma saisie ou la macro peut repérer cela pour moi ?
En fait une sorte de priorité d'affichage pour les "étiquettes annulées" serait plus utile pour moi.
Bon je cherche la petite bête, mais il faut me comprendre, ton outil est tellement bien fait qu'il inspire la perfection...

Le chèque je l'adresse à quel ordre ? ;-)
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
8 juil. 2011 à 10:01
Bonjour,

J'ai une plage de numéro par exemple 1000012300 - 1000012400 -> factures redonnées
Juste en dessous j'ai une ligne 1000012350 -> étiquettes annulées

Actuellement cette saisie pose un problème, ça correspond à 2 saisies, ce n'était pas annoncé et la recherche n'est pas adaptée.
Pas tellement pour ramener la ligne de la plage qui serait juste au-dessus, mais surtout parce que les 100001251 à 1000012400 ne sont plus vus...
Actuellement il faut éclater ces plages.

eric
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
8 juil. 2011 à 15:29
Ah oui, une chose moins urgent à laquelle j'ai pensé aussi qui serait pratique :
Sous l'affichage de la recherche, un bouton qui permettrait de "se rendre" directement à la ligne affichée, pour la modifier au besoin.

Garde ça dans un coin, si tu as le temps et l'envie de le faire, ce serait bien utile.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
8 juil. 2011 à 19:25
J'aime bien l'idée d'un bouton pour éclater en 3 lignes. Si j'ai bien compris...
Tu as bien compris

Les modifications que j'apporterai seront uniquement au niveau de la mise en page
Les n° de colonne doivent rester inchangées, ou alors adapter la macro.

un bouton qui permettrait de "se rendre" directement à la ligne affichée
C'est faisable

A+
eric
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
20 juil. 2011 à 16:58
Petite mise à jour mineure des tables : Listes de choix dans les colonnes "Type" et "Personnes" et report des numéros de boîtes dans la colonne C.

Cela m'a donné une idée qui pourrait s'avérer utile pour la recherche :
De nouvelles lignes font leur apparition (Couleur à définir), Type = Début de Boite. Elles correspondent au numéro d'étiquette par lequel la boite commence.
Lorsqu'un numéro de boite est tapé, je suis déjà très bien renseigné, à savoir si le numéro est dans une table ou non, avec les informations de la ligne.
Dans le cas où le numéro n'est pas dans la table, ce qui serait bien, c'est qu'avoir le numéro de boite qui s'affiche. Exemple :
11/07/2011 - 15 - 1000014000 - Début de Boite
12/07/2011 - 16 - 1000015000 - Début de Boite
Si je tape 1/14153, il serait bien qu'il me soit indiqué que ce numéro est dans la boite 15.

Quand tu rentres de vacances Eric, si tu as le temps de te repencher sur mon cas...

D'avance merci.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
21 juil. 2011 à 00:23
Bonsoir,

Je m'y replongerai vers la fin de semaine je pense.
Si tu as modifié des colonnes ça serait bien de déposer un nouveau fichier...
Les n° de boite c'est toujours caractères (6 et 7) + 1 ?
C'est éventuellement faisable (?) mais ça impose la saisie de 5 car. minimum

eric
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
21 juil. 2011 à 14:02
Bonjour,

Ce sont vraiment des changements mineurs que j'ai apporté sur les feuilles. Les colonnes sont toujours les même, pas d'insertion, de fusion ou de suppression.
Maintenant pour les numéros de boite, c'est une numérotation standard : 1, 2, 3, 4, ... 17, 18, etc... Mais cela peut évoluer, rien n'est figé pour le format de cette colonne.

Sur mon fichier, il y a tous les noms des mandataires judiciaires qui sont amenés à demander les documents correspondants aux numéros d'étiquettes. J'ai toujours peur d'oublier de supprimer certains nom lorsque je poste le fichier... Si c'est réellement nécessaire, je le mets sur ci-joint demain.

Je n'ai pas compris pourquoi cela impose la saisie de 5 caractères minimum : cela vient du format des cellules de la colonne "N° de Boite" ?

Mike.
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
25 juil. 2011 à 14:56
Il y a encore un cas qui risque de se produire souvent.

Avec les nouvelles lignes "Début de Journée"(Vert) et "Début de Boite"(Jaune), je me suis retrouvé dans cette situation :
25/7 - 15 - 1000014500 - Début de Journée
25/7 - 15 - 1000014500 - Début de Boite
25/7 - 15 - 1000014500 - Facture Redonnée

Pour le moment je décale les numéros pour éviter les doublons :
25/7 - 15 - 1000014499 - Début de Journée
25/7 - 15 - 1000014500 - Facture Redonnée
25/7 - 15 - 1000014501 - Début de Boite

Sachant que dans la recherche, je ne suis pas du tout intéressé par l'affichage des lignes "Début de Journée"(Vert) et "Début de Boite"(Jaune). La solution serait peut-être que la recherche affiche 2 lignes avant et 2 lignes après le numéro trouvé dans les tables, soit un total de 5 lignes affichées dans la recherche.

Sinon je ne vois pas comment traiter les doublons autrement.

Si vous avez des idées je suis preneur.
0
marc07 Messages postés 593 Date d'inscription dimanche 3 avril 2011 Statut Membre Dernière intervention 18 octobre 2014 187
25 juil. 2011 à 15:23
Bonjour, le fil

je pense que ce que tu cherche a faire est avoir un ensemble de données d'apres un numero qui serais la clef de ta recherche, alors regarde le lien ici a mon avis cela va t'aider a faire ce que tu veut

http://www.polykromy.com/blog/excel-base-de-donnees.htm

Marc
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
25 juil. 2011 à 20:48
Bonjour tout le monde,

Marc : merci pour le lien mais la recherche est fonctionnelle, il s'agit maintenant de compléments et changements de fonctionnement.

Mike : je ne t'oublie pas mais il faut que je trouve du temps libre devant moi. Là les vacances ont toujours un goût de farniente et pour se réapproprier ton fichier il faut qcq heures... ;-)

Je n'ai pas trop suivi ton histoire de boites, si tu pouvais faire un fichier exemple avec une explication

eric
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
26 juil. 2011 à 13:26
Bonjour à tous,

@ Marc : Merci pour ton lien Marc, je l'ai mis en favoris, il y a pas mal de choses qui m'intéressent bien. Pour la fonction recherche, ce que m'a fait Eric est parfaitement adapté à ma situation et ce qui reste, ce ne sont que des aménagements pour rendre le fichier encore plus pratique.

@ Eric : Prends ton temps Eric, ce n'est pas à la minute. Je poste mes remarques ici au fur et à mesure des observations faites lors de l'utilisation du fichier.
Pour les histoires de boites, c'est simple :
- Dans une boite j'ai une plage de numéros : Exemple de 1000010520 à 1000011630.
- J'ajoute une ligne supplémentaire dans les tables pour indiquer le numéro de début de boite. J'ai donc 2 lignes qui "bornent" la boite N° 10 :
10 - 1000010520 - Début de Boite
11 - 1000010630 - Début de Boite
- J'ai également une ligne supplémentaire ajoutée pour le numéro qui commence la journée.
- Ces 2 lignes sont colorées en jaune pour les débuts de boite et en vert pour les début de journée.

Le problème survient pour les doublons lorsqu'un mandataire me demande un numéro qui est à la fois le début de la boite et le début de la journée.

J'espère avoir retiré tous les noms du fichier...

http://www.cijoint.fr/cjlink.php?file=cj201107/cijxHwJLJE.xlsm

Profite bien de tes vacances et à bientôt.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 1/08/2011 à 10:42
Bonjour,

Ca y est, je me repenche sur ton fichier ;-)

Les n° qui sont affectés aux 'début de boite' et début de journée' correspondent-ils à des documents réels ?
J'ai l'impression que non puisqu'un ne peut plus voir 'facture' ou autre...
edit : après relecture j'ai vu que pour l'instant cétait un artifice pour eviter les doublons

J'ai compris pour le n° de boite, mais à quoi sert de repérer le 1er document de la journée ?
Une ligne sans n° de ref ne serait pas suffisant ? On saura que le 1er document qui suit est le 1er de la journée

Plus précisement explique le rôle de ces 2 lignes et comment tu les utilises.

Et est-ce qu'un n° de boite est unique ou on peut le retrouver dans les ref commençant par 1 et dans celles commençant par un 3 ?

eric
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
1 août 2011 à 17:08
Bonjour Eric, heureux de te revoir par ici :)

Voici les réponses à tes questions :
1°) Oui les numéros attribués aux 'début de boite' et 'début de journée' correspondent à des documents réels. Ce fichier recense uniquement les documents sortis des boîtes. Tant que personne ne me demande de ressortir un document qui correspond à un début de boite ou de journée, les seuls doublons possibles sont 'début de boite' = 'début de journée'.

2°) Repérer le 1er doc de la journée sert à des fins statistiques. En notant le 1er numéros de chaque jour, on sait par soustraction le nombre de documents traités par jour.

3°) Si je ne note pas que le 1er doc de la journée (exemple : 15000) et que le doc suivant demandé est le 15150, mes stats seront fausses pour la journée.

4°) Début de Journée = Savoir combien de documents sont traités par jour (pour sortir des graphs par exemple)
Début de boite = Savoir dans quelle numéro de boite est un document. Dans les tables, au niveau visuel c'est intéressant de repérer rapidement cela.
Les lignes "Début de Journée" pourraient être exportées vers des tables dédiées pour y noter les réfs.

5°) Pour les ref en 1, les numéros de boite seront tels quels. Pour les refs en 3, je pense faire une numérotation en C1, C2, C3, etc... Rien n'est figé là non-plus.

A bientôt.

Mike.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
Modifié par gbinforme le 17/08/2011 à 23:52
bonjour MikeThe7, Éric,

Pour des raisons personnelles, Éric m'a confié la poursuite de ce sujet. Après les réponses qu'il a apportées, je pensais que ce serait simple mais le sujet est particulièrement foisonnant et la finalisation est encore très chargée d'idées.

J'ai essayé de faire une synthèse de ce que j'ai compris dans les demandes formulées. Voici l'essentiel de ce que j'ai retenu :

Recherche :
- La saisie se fait dans la textbox.
- La saisie courte se fait avec un / (ex : 3/595).
- la couleur de contrôle de recherche :
. jaune : en attente de fin de saisie (saisie non conforme).
. rose : saisie valide non trouvée.
. vert : saisie valide trouvée.
- la recherche est lancée si la référence saisie fait 3 caractères au moins.
- le résultat s'affiche sur 5 lignes.

Navigation :
- Un double clic sur la feuille "Recherche"
sélectionne la dernière ligne trouvée sur la feuille concernée.
- Un double clic sur la feuille "Stats"
sélectionne la ligne choisie sur la feuille concernée pour l'élément sélectionné.
- Un double clic sur une autre feuille revient sur la feuille "Recherche".

Éclatement :
- Chaque saisie de référence en colonne D met à jour l'éclatement si nécessaire.
- Une mise en forme conditionnelle signale les anomalies restantes.

Boites et journées :
Elles sont listées dans la feuille "Stats" à chaque activation en fonction de la couleur.

Voici le classeur rectifié suite à la remarque d'Éric :

http://www.cijoint.fr/cjlink.php?file=cj201108/cijKU8DL7c.xlsm

Le code se situe dans le module, dans thisworkbook et dans la feuille "recherche" : il peut être recopié dans ton classeur.
Le nom des feuilles "recherche" et "stats" est en constante dans le module et peut être modifié.
Merci de nous faire part des demandes que j'ai peut-être omises car la discussion est touffue.

Toujours zen
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
17 août 2011 à 22:50
Salut gb,

Et bien tu as fait un truc super pour ton retour de vacances :-)
Le demandeur confirmera à son retour mais j'ai l'impression que tout y est, et même un peu plus.
C'est vrai que son classeur se prête à plein d'améliorations possibles.
Un petit bug détecté sur le double-clic dans thisworkbook :
ça bloque sur If Not rsu = "" Then
il attend plutôt If Not rsu(0) = "" Then vu que c'est un tableau
Je pense qu'il a dû arriver suite à une modif car j'ai du mal à imaginer que tu n'aies pas testé...

En tout cas un très grand merci d'avoir repris la main dessus, je sais le boulot que ça représentait :-)

A+
eric
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
17 août 2011 à 23:53
Salut Éric,

Effectivement la dernière modif ne fonctionnait que pour les erreurs : bien vu !
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
23 août 2011 à 14:25
Bien le bonjour à vous Éric et gbinforme.

J'espère que vous allez bien et je tiens à vous remercier pour l'énorme travail réalisé. Je n'ai pas encore tout testé sur les nouvelles améliorations apportées, mais cela semble être parfaitement adapté à mes besoins.

Les points qui me plaisent particulièrement :
- Les 5 lignes dans le tableau sur la feuille "Recherche" (j'y pensais, je ne crois pas en avoir parlé, mais vous l'avez fait)
- Les doubles-clics pour "aller" directement à la ligne affichée (encore mieux qu'un bouton, je ne savais même pas cela possible)
- La feuille "Stats" (très pratique pour créer des graph rapidement vu que tout est centralisé sur le même tableau)
- La zone de texte qui explique comment comprendre et utiliser la "Recherche" (très pratique lorsque je serai en vacances, et que ce sera ma collègue qui utilisera le tableau)

Les points qui ne me plaisent pas :
- Lorsque j'en trouverai je vous ferai signe...

J'ai parcouru rapidement les macros écrites, je pense mettre un moment avant de comprendre tout ce qui a été utilisé pour réaliser ce magnifique outil, même si les commentaires vont être très utiles.

En tout cas une chose est sûre, je ne joue pas dans la même "division Excel" que vous...

Je me permets encore quelques questions si vous avez le temps de m'éclairer :
- A quoi dois-je faire attention lors de l'importation des tables sur votre nouveau fichier ? (Je ne veux pas faire buggé une macro ou perdre des MEFC)
- Dans la colonne H ("Personne"), j'utilise une Liste de Choix tirée de la colonne K (masquée) de chaque feuille. Cela ne pose pas de soucis particuliers ? Ne rigolez pas, je n'ai pas trouvé le moyen de caler cette liste sur une feuille et d'y faire référence depuis les autres feuilles...
- Pour les feuilles commençant par 3, je vais commencer la numérotation des boites. Je vais bien entendu les différencier par rapport aux "1" avec la lettre "C" devant (C1, C2, C3, etc...). Cela est-il viable ou dois-je faire autrement ?

Une petite idée qui a germé dans mon esprit :
- Pour entrer les numéros dans les tables, je dois pour le moment taper les numéros en entier, 1000021572 par exemple. J'ai essayé de modifier le format des cellules avec par exemple :
"10000"# ou plus simplement "1000000000".
Au niveau visuel c'est identique. Mais bien entendu, cela change complètement la façon dont les macros interprètent les résultats.
L'idéal serait de taper uniquement 21572 et que le résultat soit 1000021572 si je suis sur une feuille commençant par "1" ou 3000021572 si je suis sur une feuille commençant par "3".
Si vous n'avez pas le goût de vous pencher sur cette dernière observation, je ne vous en tiendrai absolument pas rigueur étant donné l'excellent travail déjà réalisé et le temps que cela me fait économiser.

J'ai un très grand respect et une admiration non dissimulée pour vos compétences et vos connaissances sur Excel.

Excusez ma réponses tardive, ma collègue étant en vacances, je ne compte plus les heures sup en ce moment...

Un Immense MERCI pour le temps et l'investissement que vous avez manifesté, je ne sais comment vous exprimer ma reconnaissance.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
23 août 2011 à 16:42
bonjour MikeThe7, Éric,

Merci de ton retour bien sympathique. Je ne pense pas avoir inventé des fonctions mais simplement avoir essayé de mettre en place celles que tu avais évoquées dans ce sujet particulièrement dense.

- A quoi dois-je faire attention lors de l'importation des tables sur votre nouveau fichier ?

C'est une bonne interrogation mais les macros n'ont rien de figé et j'ai mis les noms de feuilles "recherche" et "stats" en paramètre dans le module si tu veux les modifier.
Pour les MFC,la formule est : =ET($D2>$D1;$D2<$F1) et s'applique à =$D:$F pour chaque feuille de données mais comme l'éclatement est automatique à la saisie elle n'est valable que pour l'existant.

- Dans la colonne H ("Personne"),...

Tu peux mettre ta liste en colonne J de recherche par exemple, puis dans "formules" et "gestionnaire de noms", tu crées "personnes" par exemple avec la formule :
=DECALER(Recherche!$J$3;;;NBVAL(Recherche!$J:$J);1)
puis dans tes validations tu mets "liste" et "=personnes"
et tu peux le faire dans toutes tes feuilles et en modifiant ta seule liste qui se dimensionne automatiquement, tu es toujours à jour : une petite explication.

- Pour les feuilles commençant par 3...

Tes boites peuvent prendre n'importe quelle numérotation, seule la structure de ton numéro de document est utilisée pour la recherche.

Une petite idée qui a germé dans mon esprit pour entrer les numéros

Très bonne idée pas trop difficile à mettre en place : regardes si c'est correct.


http://www.cijoint.fr/cjlink.php?file=cj201108/cijZpnpr47.xlsm

Une petite modification dans l'éclatement qui permet de rentrer des plages d'annulées mais il faut saisir la fin de plage avant le début.
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
23 août 2011 à 18:10
Re gbinforme,

Terrible la saisie ! Bientôt le classeur va se remplir tout seul à ce rythme là !!!

Je n'aurai pas le temps de me pencher sur les listes aujourd'hui, mais cela n'a pas l'air bien compliqué et surtout, ton lien est très bien expliqué.

Est-ce normal que lorsque que je suis sur une feuille de table (1, 1 (2), 1 (3), etc), si je double-clic sur une cellule, je suis emmené sur la feuille "Recherche" ? Suis-je obligé d'utiliser F2 pour modifier une cellule (ou cliquer dans la barre de formule) ? Ce n'est pas bien gênant, juste une habitude à prendre.

Autres questions concernant l'éclatement :
Pour avoir une base commune, je reprends le dernier classeur.
Feuille 1 (2), Lignes 172 à 175.
- Si je fais une recherche sur le 1/14200 -> Résultat = Inexistant
Or, sur la ligne 173, il y a 1000014094 - 1000014223
- Ayant compris qu'il y avait une anomalie signifiée par la couleur orange, je fais "F2" puis "Entrée", et la je me retrouve avec une nouvelle ligne (la 174) :
1000014224 - 1000014108

Toujours sur la même feuille, ligne 288 :
- Ce coup-ci l'anomalie est indiqué par la couleur rouge (au passage pourquoi cette différence, qu'est-que cela signifie ?). Même procédure "F2" puis "Entrée", mais là rien ne se passe.

Je comprend bien que pour la recherche l'éclatement est nécessaire. Malgré tout, il est important de rester précis sur les plages de numéros. Ma crainte est que certaines plages soient faussées par le système en créant des numéros qui n'ont pas à être dans le tableau, ou pire, en enlevant certaines références. C'est toujours les plus ignorants qui ont peur de ce qu'ils ne comprennent pas... ;-)

Ne serait-il pas possible d'adapter la macro pour que la recherche supporte les doublons ? Ce serait à mon sens le plus pratique. Enfin c'est ce que je vois de ma fenêtre sans comprendre toute la problématique.

Je vais tout de même relire et tester tout cela demain, au cas où j'aurais manqué quelque chose.

Je reste encore sans voix en constatant l'étonnante facilité à réaliser des fonctions que je saurai peut-être utiliser dans quelques mois.

Merci à toi gbinforme, une pensée pour Éric s'il passe par ici.
Vous êtes mes nouveaux dieux d'Excel !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
24 août 2011 à 11:06
bonjour MikeThe7,

Est-ce normal que...je suis emmené sur la feuille "Recherche" ?

J'avais cru bien faire mais je t'ai supprimer cette fonction intempestive.


Autres questions concernant l'éclatement

Il y avait effectivement quelques soucis que j'espère avoir corrigés.
il te reste une anomalie sur cette feuille ligne 172 mais il faut :
- modifier le début de "divers" à 109
- ceci déplace l'anomalie et en modifiant (F2 + entrée) le 174 cela devrait être correct.

l'anomalie est indiqué par la couleur rouge (au passage pourquoi cette différence, qu'est-que cela signifie ?)

J'avais mis la MFC à orange avant de voir que tu l'utilisais et la rectification n'était pas totale. Comme la MFC n'aime pas les insertions de lignes je la rectifie en macro à chaque modification maintenant.


Ne serait-il pas possible d'adapter la macro pour que la recherche supporte les doublons ? Ce serait à mon sens le plus pratique.

Il serait sans doute possible de refaire la macro comme tu dis, mais je ne pense pas que les doublons soient une bonne chose dans un fichier car ils créent plus de problèmes qu'ils n'en résolvent.

Il n'y a pas de lignes supprimées par macro et seulement des insertions : vérifies ce qui se passe et tu nous dira.

http://www.cijoint.fr/cjlink.php?file=cj201108/cijRs5ynNp.xlsm

Le classeur modifié à tester et tu vas avoir le temps de le faire car je suis absent d'Internet jusqu'à mardi car ce sera quelques jours en pleine nature.

Bon test et je serai oxygéné pour les modifications de retour.
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
24 août 2011 à 14:03
Salut GB et Eric !

Je devrais être habitué, et pourtant, je suis encore bluffé par la rapidité d'exécution avec laquelle mes demandes sont comblées.

Profites bien de ces quelques jours coupé de la "civilisation", le retour aux sources fait toujours du bien.

Je vais de ce pas tester la nouvelle version du fichier, les mains sur les joues tellement je trouve puissant le travail accompli.

J'ai encore quelques idées qui pour toi ne devraient pas être très difficiles à mettre en place et qui pour moi représentent une impasse insoluble.

Dans la vie, plus on acquiert des connaissances, plus on se rend compte de ce qui reste encore à intégrer, et lorsque l'on est confronté à des personnes performantes telles que vous, on se sent vraiment tout petit...

Mes "Mercis" me semblent vraiment ridicules, j'aimerai vous renvoyer l'ascenseur, mais je ne sais dans quel domaine je pourrai le faire (en tout cas, pas sur Excel !)

A bientôt, Mike.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 708
24 août 2011 à 16:33
bonjour MikeThe7, coucou à Éric,

Dans la vie, plus on acquiert des connaissances,...

Tu as parfaitement raison car c'est comme les ondes provoquées par un galet lancé sur une mare elles atteignent vite le bord, sur un lac c'est plus grand et dans la mer tu vois pas le bout.

Rassure-toi, si avec Éric et d'autres on a franchi la mare nous sommes encore très loin de l'océan.

à bientôt pour les prochaines modifs.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
24 août 2011 à 17:13
Salut tout le monde,

Je confirme, gb non seulement il est bon, mais en plus il est rapide (plus que moi en tout cas) ;-)
...nous sommes encore très loin de l'océan
Ca pour ramer, parfois on rame... ;-)

A+
eric
0
MikeThe7 Messages postés 45 Date d'inscription mardi 5 juillet 2011 Statut Membre Dernière intervention 23 décembre 2011
25 août 2011 à 14:12
Bonjour,

C'est vraiment agréable de rencontrer des personnes performantes !

Pour les listes de choix, c'est fait, vraiment pas compliqué lorsque l'on a la méthode et la bonne formule...

Si vous ramez parfois, cela signifie que vous êtes toujours à flots... Ce qui n'est pas le cas de tout le monde !

A bientôt, Mike.
0