Numérotation de dates

dePOI

XLDnaute Junior
Bonjour à tous.
Il y à quelques mois j'ai déposé ici même un message pour obtenir la numérotation automatique de dates (en distinguant les doublons). Cà marche parfaitement.
Aujourd'hui, je souhaite aller plus loin en utilisant le VBA Excel et adapter la formule dans un userform.
Voici la formule que vous m'avez proposée et qui me satisfait

=(TEXTE($A18;"aammjj")& TEXTE(NB.SI($A$4:$A18;$A18);"00"))

QUESTION: Comment l'adapter pour la faire fonctionner dans un UserForm qui contient un objet Date du jour (ddmmyyyy) et un objet Numéro d'ordre (yymmdd-xx) avec le contraintes suivantes:

- Le Numéro d'ordre doit s'afficher automatiquement sous la forme indiquée dans le UserForm (avant validation) et dans la feuille de calculs (après validation).

- Le Numéro d'ordre doit attribuer 1 à chaque nouvelle date et s'incrémenter sur tous les doublons de dates.

Je "rame" depuis des semaines sur ce sujet sans résultat aucun. J'y perds un latin que je ne possède pas!
Qui voudra bien m'aider dans cette tâche ardue?
Par avance merci.
 

Theze

XLDnaute Occasionnel
Re : Numérotation de dates

Bonjour,

Je ne suis pas sûr d'avoir tout compris mais pour la "traduction" des formules Excel en VBA. Sur Click du formulaire :
Code:
Private Sub UserForm_Click()

    With Application.WorksheetFunction
    
        MsgBox .Text(Range("A18"), "yymmdd") & .Text(.CountIf(Range("A4:A18"), Range("A18")), "00")
        
    End With

End Sub

Hervé.
 

dePOI

XLDnaute Junior
Re : Numérotation de dates

re Bonjour,

J'ai essayé ta proposition mais cela ne donne rien. Je n'ai pas su l'adapter à mon besoin.
Pour être plus clair (?) je joins mon fichier allégé avec une description de mon problème.
Cela vous inspire t-il?
A bientôt j'espère
Amicalement
 

Pièces jointes

  • GESCOFAM Essais.xlsm
    52.8 KB · Affichages: 45
  • GESCOFAM Essais.xlsm
    52.8 KB · Affichages: 53
  • GESCOFAM Essais.xlsm
    52.8 KB · Affichages: 55

Theze

XLDnaute Occasionnel
Re : Numérotation de dates

Bonjour,

Comme ceci peut être ?
Code:
Sub SAISIE_OP()

    Load UsfBNP
    
    UsfBNP.TxtCEJOUR = Format(Now, "dd/mm/yyyy") '---------------------------------------CEJOUR 1
    UsfBNP.CmbCOMPT.List = Sheets("DONNÉES").Range("A2:A6").Value '-----------------------COMPT 2
    
    With Application.WorksheetFunction
    
       UsfBNP.TxtJOUROP = .Text(Now, "yymmdd") & "-" & .Text(.CountIf(Range("C:C"), .Text(Now, "yymmdd") & "-*") + 1, "00")
        
    End With
    
    UsfBNP.TxtNUMORD.Value = "" '--------------------------------------------------------NUMORD 4
    UsfBNP.CmbBENEFI.List = Sheets("DONNÉES").Range("C2:C35").Value '--------------------BENEFI 5
    UsfBNP.CmbMOYENS.List = Sheets("DONNÉES").Range("B2:B8").Value '---------------------MOYENS 6
    UsfBNP.TxtCHNUM.Value = "" '----------------------------------------------------------CHNUM 7
    UsfBNP.TxtDEBIT.Value = "" 'Format(TxtDEBIT.Value, "0.00 €") '------------------------DEBIT 8
    UsfBNP.TxtCREDIT.Value = "" '--------------------------------------------------------CREDIT 9
    UsfBNP.TxtSOLDE.Value = "" '----------------------------------------------------------SOLDE 10
    UsfBNP.TxtREMARQ.Value = "" '--------------------------------------------------------REMARQ 11
    UsfBNP.TxtLIVRAI.Value = Format(Now, "dd/mm/yyyy") '---------------------------------LIVRAI 12
    UsfBNP.ChbPOINTA.Value = "" '--------------------------------------------------------POINTA 13
    
    UsfBNP.Show

End Sub

Hervé.
 

dePOI

XLDnaute Junior
Re : Numérotation de dates

re bonjour,
Problème presque résolu car..
si tout fonctionne normalement avec la date du jour ce n'est plus le cas pour TOUTES DATES ANTÉRIEURES OU POSTÉRIEURES à cette date.
Pourriez-vous m'expliquer votre formule actuelle pour essayer d'apporter moi-même le remède convenable .... si je peux!
Donc
<<<< PROBLÈME PRESQUE RÉSOLU >>>>
Merci pour votre aide.
 

Theze

XLDnaute Occasionnel
Re : Numérotation de dates

Bonjour,

Je ne sais pas comment tu veux récupérer une date pour l'incrémentation donc, à adapter au niveau de l'affectation de la date à la variable "MaDate" pour le test j'ai mis :
Code:
MaDate = CDate("06/10/2013")
La proc modifiée :
Code:
Sub SAISIE_OP()
    
    Dim MaDate As Date
    
    MaDate = CDate("06/10/2013")
    
    Load UsfBNP
    
    UsfBNP.TxtCEJOUR = Format(Now, "dd/mm/yyyy") '---------------------------------------CEJOUR 1
    UsfBNP.CmbCOMPT.List = Sheets("DONNÉES").Range("A2:A6").Value '-----------------------COMPT 2
    
    
    With Application.WorksheetFunction
    
       UsfBNP.TxtJOUROP = .Text(MaDate, "yymmdd") & "-" & .Text(.CountIf(Range("C:C"), .Text(MaDate, "yymmdd") & "-*") + 1, "00")
        
    End With
    
    UsfBNP.TxtNUMORD.Value = "" '--------------------------------------------------------NUMORD 4
    UsfBNP.CmbBENEFI.List = Sheets("DONNÉES").Range("C2:C35").Value '--------------------BENEFI 5
    UsfBNP.CmbMOYENS.List = Sheets("DONNÉES").Range("B2:B8").Value '---------------------MOYENS 6
    UsfBNP.TxtCHNUM.Value = "" '----------------------------------------------------------CHNUM 7
    UsfBNP.TxtDEBIT.Value = "" 'Format(TxtDEBIT.Value, "0.00 €") '------------------------DEBIT 8
    UsfBNP.TxtCREDIT.Value = "" '--------------------------------------------------------CREDIT 9
    UsfBNP.TxtSOLDE.Value = "" '----------------------------------------------------------SOLDE 10
    UsfBNP.TxtREMARQ.Value = "" '--------------------------------------------------------REMARQ 11
    UsfBNP.TxtLIVRAI.Value = Format(Now, "dd/mm/yyyy") '---------------------------------LIVRAI 12
    UsfBNP.ChbPOINTA.Value = "" '--------------------------------------------------------POINTA 13
    
    UsfBNP.Show

End Sub

Hervé.
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG