Afficher une séquence disponibles de 10 digits

Bonjour,

Je cherche un moyen via VBA de de trouver dans une base de séquence de digits ceux qui sont disponible. Cad ceux abs dans la base.

J'ai un fichier avec une racine 7 digits et 10 digits qui leur sont attaché. je veux que sur une feuille quand je tape une racine de 7 digit, xls me donne les séquence de 10 digit abs de la base.

J'espère être claire dans ma demande.

Bonjour,

Voici un premier jet, mais j'avoue ne pas avoir tout compris sur la récupération des valeurs manquantes, en effet, pour la séquence 7 dans votre exemple, vous ne récupérez que les valeurs manquantes entre 220 et 237 , mais les autres valeurs manquantes entre 237 et 311, pourquoi n'apparaissent-elles pas?

Dans ma proposition, ces dernières sont restituées, me dire quel raisonnement suivre pour ne pas afficher ces valeurs.

Cdlt

@Arturo83,

Merci Bcp pour ce retour. Pour répondre à votre question le fichier transmis n'est qu'un exemple.

Il contient une multitude de séquence sur 7 digits et 10 digits. (pour la racine de 7Digits peu être Alphanumérique, voir fin du fichier)

Ci-joint le fichier complet vous permettra de mieux comprendre je pense.

Dans ce dernier je cherche les références non utilisé afin de les attribuer et implémenter ensuite dans la base dès création dans notre système.

Merci encore de votre aide, et très beau premier jet.

J'oubliais le plus important, Très bonne année, Santé, joie et surtout plein de bonheur pour 2023.

C'est franchement pas clair, du moins, pas suffisamment argumenté.

-Sur quoi appliquez-vous les filtres sur PCA ou sur PCO? je serai tenté de dire sur PCA, mais dans ce cas:

- C'est vous, qui imposez la date en colonne F?

Quand vous faites une demande comme celle-ci, soit précis car, si vous connaissez et maîtrisez le sujet, de mon côté, il n'en est pas de même et, je ne vois pas ou n'interprète pas forcément la même chose que vous.

Re Bonjour Arturo83.

Effectivement je ne suis pas assez claire. je vais vous expliquer.

Tout d'abord Oubliez la donnée PCA.

Voici comment je procède :

J'extraie de nos système les données de la feuille "Digit Dispo pour PCO" les colonnes "B&C&F", pour les mettre à jour.

Ensuite je récupère mes formules de la feuille "Macro & Formules" afin de savoir si il y a des digit dispo de la référence du dessus et avoir le nombre de digit disponible.

Soit je fais un filtre ensuite sur la colonne "B" de la feuille "Digit Dispo pour PCO" en appelant ma racine de 7 digits et je cherche visuellement les digit disponible.

Explication de la feuille "Digit Dispo pour PCO" :

Colonne "B" racine des références sur 7 digits (données référencé dans le système)

Colonne "C" référence sur 10 digits qui sont rattachés à la colonne "B" (données référencé dans le système)

Colonne "D" info obtenu via les formules afin de savoir si un digit du dessus est disponible

Colonne "E" nombre de digit disponible

Colonne "F" date récupérées de l'extraction du système

Mon But est de supprimer la recherche manuel (donc les colonnes "D&E") sur la disponibilité des séquences sur 10 digits.

Obtenir comme dans votre premier jet la liste des digits disponible (donc abs de la base) juste en appelant la racine des références sur 7 digits.

Par la suite une fois la séquences de 10 digits choisi l'implémenter dans la base.

J'espère avoir été claire au besoin j'ajouterais des compléments suivant vos questions.

Herve

Bonjour,

Donc, si j'ai bien compris, dans la feuille "Digit Dispo pour PCO", le nombre de digit est obtenu par formule,on pourrait aisément reconstruire la liste des valeurs manquantes en partant du nombre de digit dispo colonne "E", c'est à dire: "PCO" recherchée -1 et en décrémentant de -1 à chaque fois jusqu'à arriver à la précédente valeur trouvée.

En clair, supposons que l'on recherche "PCO 6362003077" le nombre de digits disponibles est de 7 alors, les valeurs manquantes seront:

6362003076, 6362003075, 6362003074, 6362003073, 6362003072, 6362003071, 6362003070

Est-ce bien cela?

En attendant votre retour, voici la solution proposée:

Bonjour Arturo,

Merci pour tous ces retours, nous y sommes presque.

Pour répondre à votre question :

"En clair, supposons que l'on recherche "PCO 6362003077" le nombre de digits disponibles est de 7 alors, les valeurs manquantes seront:

6362003076, 6362003075, 6362003074, 6362003073, 6362003072, 6362003071, 6362003070

Est-ce bien cela?"

Oui pour la liste des PCO que vous affichez et non car je ne veux pas rechercher via le PCO.

Le But est de rechercher par le PCAZ et d'afficher la liste des PCO disponibles entre les PCAZ 6362003 et 6362004 pour cette exemple,

et si le PCAZ n'existe pas tout les PCO sont disponible.

Ci-joint votre fichier, j'y ai ajouté en colonne 'G à I" ce que j'espère obtenir en cliquant sur votre bouton.

Bien à vous et encore merci.

Herve

Avant de lire ce que vous venez d'écrire, j'avais avancé dans le projet, voici une nouvelle mouture.

1) cliquez sur le pavé bleu 1, cela va construire une liste des CPA

2) sélectionnez un CPO dans la liste créée dans la cellule D9, en E9 s'affiche le nombre de CPO dispo.

et dans la foulée la liste des CPO dispo s'affiche à partir de la ligne 13.

Qu'en pensez-vous?

Merci Arturo pour ce retour.

Bonne méthode

Cependant j’ai remarqué dans la 2ème étape quand je sélectionne le premier PCO de la liste il affiche "0" ☹.

Voir copie écran

pco6362003007

Pareil quand je sélectionne un autre PCAZ exemple « 1110011 » je sélection le PCO « 1110011924 » il m’affiche « 0 » ☹.

Or il aurait du m’afficher les PCO du 1110011913 à 1110011924.

pcaz1110011

Aussi je dois mal utiliser le bouton ou la recherche car la macro plante quand je change de PCAZ.

vba1 1 vba1

Et ça a aussi planté à « Application.ScreenUpdating = False »

Mais sinon cela est super cool pour le rendu et votre aide.

En fait les problèmes liés aux nombres de PCO est dû au fait que j'ai créé ma propre formule de décompte et, visiblement ce n'est pas la bonne méthode.

Comme je ne sais pas trop comment vous calculez cela, Il serait préférable que vous me donniez votre formule de calcul que j'intègrerai dans le code.

Pour le plantage de la macro, il s'agit d'un bug que je n'ai pas traité, ce sera fait dans le prochain envoi.

Cdlt

Merci pour ces retour,

ci-joint le fichier ou vous trouverez mes formules utilisé. feuille "Macro et Formules".

formules digit dispo ou non :

=SI(C16=C15+1;"Digit non dispo";"Digit dispo -1")

formules Nbr de Digit dispo :

=SI(D16="Digit non dispo";"ok";C16-C15-1)

Besoin d'éclaircissements:

Dans votre fichier, il y a ceci:

rv34

Alors pourquoi:

Pareil quand je sélectionne un autre PCAZ exemple « 1110011 » je sélection le PCO « 1110011924 » il m’affiche « 0 » ☹.

Or il aurait du m’afficher les PCO du 1110011913 à 1110011924.

[s=co-548dd4][/s]

[s=co-548dd4][/s]

Oui effectivement je n'ai pas regarder dans la base,

je ai juste utilisé la liste proposée avec votre macro voir copie écran :

image

j'espère répondre à cette interrogation.

Oui, mais maintenant que j'ai appliqué vos formules, est-ce mieux?

Parfait, Merci bcp.

Cependant j'ai du mal à sortir de la boucle quand je supprime soit le PCAZ et ou PCO dans les cellules de recherche.

image image

ou quand je supprime le PCO

image

Puis le résultat des PCO disponible est sur 11 digits et non 10.

image

Encore merci pour votre travail.

Avec une petite modif

Cdlt

Bonjour Arturo83,

j'ai juste une petit demande encore, la restitution des PCO disponible est sur 11 digit or j'aurai besoin qu'il soit sur 10 digits.

image

De ce faite quand je sélectionne le premier PCO de la liste exemple "6362003007" et ceux au dessus du "6362003000" devrait être "6362002999" et non "63620032999".

image

Dernière fois que je vous embête sur le sujet.

La restitution est parfaite sinon vous avez bien compris mon besoin.

Bien à vous,

Bonne journée,

Merci

Bonjour,

Défaut corrigé

Cdlt

Merci Bcp pour votre aide

je vais pouvoir terminer.

A une prochaine fois.

Herve

Rechercher des sujets similaires à "afficher sequence disponibles digits"