Etablir et afficher une liste de lettre et chiffre

Bonjour à tous,

Encore une fois je reviens vers le forum pour exposer ma problématique sur un nouveau fichier : un référencement de document.

Voilà je souhaite créer une liste de documents (onglet BD) découpés en plusieurs critères (Intitulés, types...etc) et ensuite générer un "code" comprenant les 3 premières lettres de l'intitulé du document et les chiffres qui suivent le nombre de document ayant le même intitulé (exemple repris du fichier : INRS sièges de bureau ==> Enregistré sous INR0001 )

L'idée étant que quand l'utilisateur rentre les données et clique sur "Enregistrer" les mêmes données viennent se coller en BD puis qu'une fenêtre indique "la référence du texte est INR0001, puis INR0002, etc...).

Pour le moment je suis arriver à coller les infos en "BD", tout en générant le code "Lettre+chiffre" Mais, là où je séche :

  • Excel ne veut pas me mettre la suite du code car il ne le prend pas pour une suite : problème lettre + chiffre dans la même cellule?
  • Pour la suite : comment générer un code XXX0001-2 en reprenant les données de la liste déroulante "intitulé"?

Bon c'est beaucoup d'infos alors si je n'ai pas été clair, n'hésitez pas à me le faire savoir, et toute critique sur la construction du fichier en PJ est naturellement bienvenue.

Merci d'avance à tous

Bonjour,

En B1 de l'onglet formulaire :

=GAUCHE(B2;3)&DROITE("0000"&B7;4)

Est- ce que cela répond au problème posé ?

Bonjour Steelson,

Merci pour ta réponse qui répond en partie au problème... En partie car ta formule redémarre à 0000 et "n'ajoute pas 1" quand on retape un intitulé du même ordre.

J'aimerai au possible que cela produise en exemple : loi0001 - Loi 0002 etc...

Mais c'est un point de départ ! Merci encore !

Bonjour,

J'avais en effet réfléchi à cette problématique mais ne savais pas quelle était ton intention.

Il y a 2 solutions :

  • entretenir pour chaque groupe de 3 lettres un compteur (ce qui veut dire aussi que lorsqu'un nouveau groupe apparaît il faut créer son compteur)
  • détecter à la volée le plus grand numéro entré pour d'incrémenter ... cette solution est sans doute plus flexible en cas d'erreur de saisie et de suppression
A toi de voir si tu connais bien VBA, je vais réfléchir sur une maquette.

Bonjour,

Steelson a écrit :

A toi de voir si tu connais bien VBA

Euh......Non ! A dire vrai, je me renseigne par ci par là pour tenter de trouver les codes correspondant à ce que je souhaite ce qui d'un côté est très intéressant et enrichissant mais de là à écrire un code seul... y a un gouffre !

Pour répondre à tes remarques, il me semble que ta deuxième proposition est la plus pertinente par rapport à un fichier qui sera partager donc avec un risque d'erreur plus important.

Je te remercie pour ta contribution et tenterai de mon côté de travailler dessus aujourd'hui afin d'avancer sur le code.

Bonne journée et merci pour ton retour.

Essaye quelque chose comme ceci :

Sub recherchenumero()
Dim rubrique As String
Dim numero As Integer
Dim nouveaunumero As Integer
Dim ligne As Integer
Dim MaCellule As Range

rubrique = Left(Sheets("Formulaire").Range("B2").Value, 3)
nouveaunumero = 0

With Sheets("BD")
For Each MaCellule In .Range("A2:" & .Range("A2").End(xlDown).Address)
    If Left(MaCellule.Value, 3) = rubrique Then
        numero = (Right(MaCellule.Value, 4))
        If nouveaunumero < numero Then nouveaunumero = numero
    End If
Next MaCellule
End With

Sheets("Formulaire").Range("B1").Value = rubrique & Right("0000" & (nouveaunumero + 1), 4)
MsgBox "Le premier numéro dispnible pour la rubrique sélectionnée est " & rubrique & Right("0000" & (nouveaunumero + 1), 4)

End Sub

Écrit de façon la plus lisible possible.

Insère la partie entre Sub et End sub dans le module ad-hoc.

Ohhhhhhh PUT.............. !!!!!!!!!!!!!!!!!!!!!!!!

Je viens de lancer votre code et c'est tout à fait ça !!!!! Merci beaucoup !!! Il fonctionne pour tous les intitulés et s'incrémente seul. Merci !

J'ai parcouru votre code (très) rapidement et il mérite que je m'y penche beaucoup plus précisément car la logique a l'air très intéressante à comprendre.

Je risque de revenir vers vous dans le cas de modifications (élargissement des intitulés) mais avant cela, je le tenterai moi même.

Merci encore pour votre temps pris.

Rechercher des sujets similaires à "etablir afficher liste lettre chiffre"