Numérotation de cotations automatiques avec remise à zéro tous les jours

Bonsoir à tous,

habituellement j'arrive toujours à trouver mon bonheur en VBA (je suis débutante) en glanant des codes sur les forums à droite à gauche, tester des enregistrement de macros et finalement combiner les 2.

sauf que là, je sèche.

pour mon boulot je cherche à numéroter des cotations en automatique avec le format suivant :

Année + mois + jour + "-" + initiale du commercial + numéro de cotation établi par ce commercial dans la journée.

au format : aaaammjj-A01

jusqu'à présent j'ai créé une macro pour la partie 1 : aaaammjj-A

mais je souhaite que le numéro de cotation qui augmente (01, 02, 03...) se génère automatiquement. parce qu'on le met manuellement et au bout d'un moment chaque commercial ne sait plus où il en est.

Il faudrait que les 2 derniers chiffres se remettent a zéro tous les jours.

j'ai trouvé des formules d'incrémentation automatique mais pas avec la remise à zéro tous les jours.

Pourriez vous m'aider svp ?

merci ;)

bonsoir,

merci de mettre un classeur représentatif de tes données, avec tes macros et la macro à adapter.

bonjour,

oui le voici.

Il est relié à un fichier qui archive les cotations avec une macro donc ce fichier d'archivage pourrait aussi me servir à archiver les numéros créés, je le mets aussi.

j'ai effacé les coordonnées confidentielles.

Lorsque je clique sur la bouton "suivi cotation" la cotation finalisée s'archive dans le fichier de suivi via une macro. un nouvel onglet pourrait servir de base juste pour les numéros si besoin.

Pour que lorsqu'un autre commercial ouvre le fichier modèle de création de cotation, lorsqu'il génère le numéro le fichier recherche dans l'archivage et affiche le prochain numéro disponible.

merci !

bonjour,

une proposition, (selon moi macro à lier au bouton créer nouveau numéro (partie 1) de la feuille cotation)

Sub nouveau_numero()
    'génère une numéro de cotation sur base de la date et du commercial en charge de la cotation
    Set twb = ThisWorkbook 'twb le fichier contenant la macro (le modèle)
    Set wsc = twb.Sheets("cotation") 'wsc= feuille cotation
    Set wbs = Nothing
    On Error Resume Next
    Set wbs = Workbooks("suivi cotations overseas 2023") 'le fichier contenant le suivi des cotations
    On Error GoTo 0
    If wbs Is Nothing Then 'on ouvre le fichier suivi s'il n'est pas déjà ouvert
        rep = "L:\OVERSEAS\GRA\" '<- à vérifier
        Set wbs = Workbooks.Open(rep & "suivi cotations overseas 2023")
    End If
    Set wss = wbs.Sheets("suivi 2023") 'wss=feuille suivi 2023
    idn = Format(wsc.Range("AD5"), "yyyymmdd") & "-" & Left(wsc.Range("AQ5"), 1) 'on formatte la première partie du numéro de cotation date aaaammjj- et initiale du commercial
    dlwss = wss.Cells(Rows.Count, 2).End(xlUp).Row 'nombre de lignes dans suivi
    Set re = wss.Range("b1").Resize(dlwss, 1).Find(idn, lookat:=xlPart) 'recherche toutes les occurrences qui commencent par l'id
    If re Is Nothing Then
        idn = idn & "01" 'on n'a rien trouvé, on attribue le numéro 1
    Else
        fa = re.Address
        Do
            numec = CLng(Right(re.Value, 2)) 'on regarde le numéro de l'occurrence en cours
            If numec > nmax Then nmax = numec 'supérieur au numéro max trouvé, on adapte le max trouvé
            Set re = wss.Range("b1").Resize(dlwss, 1).FindNext(re) 'occurrence suivante
        Loop Until re.Address = fa 'tant qu'il y a une occurrence avec le même id
        nmax = nmax + 1 'nouveau numéro =max trouvé +1
        idn = idn & Format(nmax, "00")
    End If
    wsc.Range("N5") = idn
End Sub

bonjour

merci de la réponse

je vais essayer de suite

bonjour,

la macro fonctionne c'est génial (j'ai juste ajouté l'extension du fichier sinon ça ne voulait pas)

du coup j'ai même pu la modifier pour archiver les numéros dans un onglet à part (l'onglet suivi archive uniquement les cotations finalisées) car certaines cotations restent en attente mais il ne fallait pas faire de doublons.

j'ai ajouté la fermeture automatique du fichier de suivi/archivage (pour ne pas gêner un autre commercial qui travaille dessus).

je me doute que mes macros ne sont peut être pas très propres car je ne maîtrise pas tous les codes, mais en tout cas ça donne envie d'en savoir plus et de se former.

merci beaucoup pour l'aide apportée qui va me permettre de mettre le fichier en application dès lundi !

bonne journée

Rechercher des sujets similaires à "numerotation cotations automatiques remise zero tous jours"