Identifiant unique entre plusieurs Feuilles

Bonjour,

Je me permet un message pour savoir si il est possible de réaliser la mise en place d'un Identifiant unique sur plusieurs feuilles automatiquement

Mon fichier excel comprend plusieurs feuilles, chaque feuille a une colonne identifiant que je remplie manuellement, je souhaite savoir si il est possible d'automatiser la chose selon ces contraintes :

  • numéro unique sur l'ensemble du fichier (pas de même numéro entre feuilles)
  • création ID automatique à chaque ligne rajoutée : on cherche l'id le plus élevé et on lui rajoute 1 (tjs en comparant toute les feuilles)
Je sais pas si c'est cette formule que l'on peut utiliser : =SOMME(GRANDE.VALEUR(A2:A20;1);1), mais dans un contexte multi feuilles

- Numéro unique : un ID utilisé ne peut plus l'être. Si on efface la ligne ID 5, la série d'identifiant ne se décale pas !

En écrivant mon message je me rend compte que cela doit être difficile / voir impossible avec de simples formules existantes :/

Merci par avance de vos retours

Diga

Bonjour,

je vous suis sur la dernière remarque : si vous utilisez une formule, le résultat sera "dynamique" donc suite à la suppression d'une ligne tout sera automatiquement renuméroté...

Pour que ce soit automatique, il faut faire une surveillance événementielle des feuilles et suite à l'ajout d'une nouvelle ligne un code VBA est lancé pour la numérotation.

Cette numérotation peut être "à la volée" c'est à dire on vérifie toutes les feuilles, on prend le plus grand et on ajoute 1, ou bien cette incrémentation est "linéaire", c'est à dire on connaît déjà le dernier enregistrement car il a été mis en mémoire dans une cellule ou un "nom" dans Excel, on récupère cette valeur et on ajoute 1, puis on met à jours cette donnée de mémoire.

Mais il faut savoir quel est le type de donnée de l'ID, Est-ce entièrement numérique, ou alpha numérique ?

@ bientôt

LouReeD

Merci pour votre réponse rapide.

Aie !!! VBA

Ces identifiants sont 100% numérique de 1 à l'infini (si il existe )

Il me semble que dans mon cas, la numérotation doit-être à la volée, car si on vient à effacer la dernière ligne et donc le dernier ID entré, celui ci doit-être quand même prise en compte lors de la création d'un prochaine ligne...

Avant de me lancer dans la découverte de la programmation Excel, vous pouvez me dire si cela est réalisable facilement ?

En tous les cas merci encore pour ces débuts d'éclaircissements.

Diga

Re bonjour,

voici le fichier exemple : Supprimer par LouReeD

Il y a 5 feuilles, mais seules les feuilles dont le nom commence par "Suivi" sont gérées par le code.

Ensuite le code récupère la valeur du de la constante "Num_ID", y ajoute 1 et enregistre cette nouvelle valeur.

Le code de détection de changement de données sur les feuille est certainement à adapter, mais le principe est que l'utilisateur entre une donnée en colonne B, l' ID s'ajoute en colonne A.

@ bientôt

LouReeD

38test-id-lrd.xlsm (28.18 Ko)

Mais, mais,...vous êtes un robot ?

Merci pour cet exemple, effectivement l'incrémentation se fait bien, mais je pense que la création de l'ID sur fait sur une action, puisqu'il s'incrémente et change le numéro d'ID si on efface une ligne... Bref c'est une super base de travail...

Merci bcp

Diga

Attention !

C'est un exemple, c'est assez primaire comme code, il y a peu de vérification, cela prend en compte la colonne B entière au lieu de la colonne "tableau", cela ne vérifie pas s'il y a déjà un ID existant, comme vous le dites c'est une bonne base dans le principe !

C'était pour montrer l'idée.

Par contre ce système ne bouche pas les trous ! Les ID s'incrémentent, pas de retour en arrière !

Mais pour moi un ID ne doit pas être une copie d'un autre, quelque soit la raison de la disparition du premier, sinon au niveau "archives" il y aura des doublons sur les dossiers... Non ?

@ bientôt

LouReeD

Tout à fait d'accord avec votre dernière remarque !

Je reviens vers vous quand j'aurai découvert les plaisir de VBA et j'aurai optimisé ce code (si j'y arrive)

Merci et bonne journée

Diga

Comme un petit défi pour moi, je me suis lancé dans la réalisation de votre demande en évitant d'utiliser des données "en dur", comme pour la détection d'un changement de donnée dans le tableau en colonne B puis une inscription de l'ID à une colonne de moins que cette dernière !

Le nouveau fichier :

42test-id-lrd.xlsm (30.95 Ko)

Il y a trois données "en dur", le mot "Suivi" pour vérifier que le code est à lancer sur la feuille, et le mot "ID" qui correspond à la valeur de l'entête de la colonne des tableaux qui doit recevoir la donnée d'ID (ce qui reste logique).

La troisième donnée est l'index du tableau sur les feuilles : 1, en effet, sans connaître le nom du tableau, on peut le cibler par son index, le premier créer sur une feuille à un index = à 1.

Après, si les tableaux ont été créés à la suite d'autre, on peut jouer sur le nom, qui, pour arranger tout le monde serait "égale" au nom de la feuille...

Sinon le reste est "variable", le tableau peut se trouver où vous voulez sur la feuille, il peut même être déplacé, il peut y avoir plusieurs tableaux...

Le code est commenté afin de mieux l'appréhender.

@ bientôt

LouReeD

J'ai essayé de tordre le cou à votre exemple...Je n'y suis pas arrivé !

Vraiment merci..et la macro commentée c'est Top...

Je connais le PHP, donc je reconnais un peu des logiques de Dev, mais novice concernant le langage VBA !!!

J'étudie tout cela

Milles merci

Diga

Bonjour,

merci pour ce retour !

Début des années 2000, j'ai fais un peu de html avec Bloc Note© ! Après je me suis mis au PHP toujours avec Bloc Note©.

Tout ceci avec une "grosse" pointe de JavaScript et de CSS, tout cela en apprenant sur le tas, en étudiant les codes des forums ou autre.

Mais je dois avouer que j'ai énormément perdu, et surtout que le "codeur" devait s'adapter à la manière qu'avaient les navigateurs d'interpréter les codes.

Et la multiplication des offres sur le Net a fait que ma foie cela devenait inutile de créer ce qui se faisait déjà en mieux... et plus simple !

Bonne étude de code @ vous, mais attention, je ne suis pas un des plus féru d'ici ! Mais comme à l'époque, j'arrive à faire à peu près tout ce que je souhaite...

@ bientôt

LouReeD

Rechercher des sujets similaires à "identifiant unique entre feuilles"