Aide pour générer un numéro d'enquête

Bonjour

Je voudrais ajouter un bouton "GENE" qui servirait à générer un nouveau numéro d'enquête en prenant en compte ceux déjà existants, si la dernière enquête créée est ES-23-02, ca génèrerait le numéro ES-23-03.

J'ai 2 types d'enquêtes:

  • ES-23-xxxxx
  • EO-23-xxxxx

Je souhaiterais générer un nouveau numero d'enquete en fonction du type de la facon suivante:

  1. mettre le préfixe du type d'enquête "ES" dans le TextBox8 (l'exemple ci dessou)
  2. appuyer sur le bouton "GENE" afin que excel recherche le dernier N° d'enquête existant pour ce type de préfixe(ES-23-02) et génère le suivant (ES-23-03) qui doit pouvoir être éventuellement modifier manuellement.
6projet-tde-v4.xlsm (209.63 Ko)
image

Pour reprendre le message de mon autre poste àCylfo

  • le "23" correspond à l'année ? OUI
    • si oui :
      • celles de la date de création de l'enquête ou l'une autre donnée à préciser ? celle de la date de création de l'enquête
      • lorsque le suffixe (ici "02") arrive à 99 que se passe-t-il ? il faut passer à100 et à 999 il faut passer à 1000 etc
    • si non :
      • lorsque le suffixe atteint 99, on incrémente le 23 pour démarrer un n° "ES-24-01" ?

Bonsoir mipec,

Le code est associé à "CommandButton7_Click()" dans le module du Userform.

11projet-tde-v5.xlsm (215.98 Ko)

Cdlt,

Cylfo

bonjour, juste la partie pour trouver la valeur la plus grande

Sub LePlusHaut()
     Dim s, sForm

     s = "ES-23-"
     sForm = "AGGREGATE(14,6,mid(Tableau1[enquêtes],7,99)/(LEFT(Tableau1[enquêtes],6)=" & Chr(34) & s & Chr(34) & "),1)"
     MsgBox "le plus haut est " & Evaluate(sForm), , s

     s = "EO-23-"
     sForm = "AGGREGATE(14,6,mid(Tableau1[enquêtes],7,99)/(LEFT(Tableau1[enquêtes],6)=" & Chr(34) & s & Chr(34) & "),1)"
     MsgBox "le plus haut est " & Evaluate(sForm), , s

End Sub

Merci pour votre participation

Cylfo, c'est parfait merci c 'est exactement ce qu'il me faut

Bonjour mipec, BsAlv,

Dans la version ci-jointe, j'ai remplacé la boucle de recherche du n° d'enquête max par la méthode proposée par BsAlv .

6projet-tde-v6.xlsm (217.32 Ko)

Cdlt,

Cylfo

bonjour Cylfo,

avec la gestion des erreurs

        nMaxNumEnq = Evaluate("IFERROR(AGGREGATE(14,6,mid(Tableau1[enquêtes],7,99)/(LEFT(Tableau1[enquêtes],6)=" & Chr(34) & cPrfxEnq & Chr(34) & "),1),0)")

Bonjour BsAlv,

Oui ... mais pourquoi faire simple si on peut faire plus compliqué , je plaisante bien sûr .

@mipec,

Une version 7 encore simplifiée grâce à BsAlv.

Cdlt,

Cylfo

10projet-tde-v7.xlsm (217.26 Ko)

bonjour à tous les deux , beau travail d’équipe, faites vous plaisir si vous voyez d’autres choses à simplifier

Encore merci en tout cas

Bonjour a tous

petit souci, la date de création qui s'affiche dans le mail est inversé mois et jour, pourtant le format est bon.

Bonsoir à tous,

Pour passer le temps, une autre p'tite version. Cliquer sur le bouton "Gene" de Userform2.

11mipec-tde-v1.xlsm (211.78 Ko)

Bonjour mipec,

Je ne l'avais pas vu mais dans le tableau "Tableau1" de l'onglet "Formulaire", la colonne "Création colis" a un format personnalisé "m/j/aaaa". C'est ce qui génère l'inversion des mois et jours dans l'affichage de la date dans le mail.

Ce format est-il à conserver ou fait-il le modifier pour avoir le même format (jj/mm/aaaa) que dans la colonne "Avisé" ?

Cdlt,

Cylfo

Hello tous!

@fraise! je prends ta solution mais j'ai perdu l'affichage automatique de l'année dans la date

@ Cylfo merci, j'ai modifié

Rechercher des sujets similaires à "aide generer numero enquete"