Numérotation des lignes automatique en fonction de la date

bonjour,

grâce à vous j'ai réussi à finaliser mon classeur, et à mettre toutes les fonctions au points et vous en remercie.

j'ai une autre demande.

en pj une partie de mon fichier.

je cherche à numéroter mes ligne à chaque fois que je fais une nouvelle entrée.

cette numérotation est simple sur la base du 1, 2 3 ....... en continue.

mais je souhaiterais qu'elle recommence à 1 à chaque fois que l'on change de mois.

j'ai cherché sur plusieurs dizaines de forums mais je ne trouve pas ma réponse.

si quelqu'un sait m'aider .

merci d'avance

20ex.xlsm (22.92 Ko)

Bonsoir

Pas simple sans voir votre formulaire et comment vous complétez la feuille Clients

En admettant que vous connaissez la cellule vide en colonne A (donc celle qui est à numéroter. Utilisez ce code

If Month(Range("D" & ActiveCell.Row - 1)) = Month(Range("D" & ActiveCell.Row)) Then
Range("A" & ActiveCell.Row) = Range("A" & ActiveCell.Row - 1) + 1
Else: Range("A" & ActiveCell.Row) = 1
End If

Code à intégrer et dans lequel il faut que votre code existant repère la dernière cellule vide dans votre colonne A

Cordialement

bonjour Dan

merci beaucoup

vous ne voyez pas le code dans le fichier que j'ai transmis?

en tout cas j'ai mis un peu au hasard (je ne connais pas du tout le vba, j'ai construis ce formulaire d'après des bouts pris à droite et à gauche pour construire quelque chose de personnalisé) le code que vous m'avez donné dans mon code.

Il semble que cela fonctionne puisque à chaque nouvelle entrée cela mets un numero en suivant. je ne sais pas si cela recommencera bien au début du mois suivant mais pour le moment cela fonctionne.

je joint mon fichier avec les données personnelles modifieées, au cas où vous verriez un soucis

merci encore

8contacts-2020.xlsm (361.03 Ko)

Re

Voici ce que vous devez adapter dans les codes de l'USF

  • Supprimez le code --> Private Sub TextBox8_Change()
  • Dans le code Private Sub CommandButton3_Click(), supprimez les lignes entre UNLOAD et END SUB. Vous avez placé le code que je vous ai proposé mais ce n'est pas au bon endroit
  • Dans l'USF Private Sub CommandButton1_Click(), remplacez tout le code par celui ci-dessous :
Private Sub CommandButton1_Click()
Dim p As Integer
Dim i As Byte

If MsgBox("Confirmez-vous l'insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then
    With Sheets("Clients")
        p = .Range("A65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
        .Range("D" & p).Value = Format(TextBox8, "MM / DD / YYYY")
        .Range("F" & p).Value = ComboBox1
        .Range("E" & p).Value = ComboBox2
        .Range("B" & p).Value = UCase(TextBox1)
        .Range("C" & p).Value = UCase(TextBox2)
        .Range("I" & p).Value = Format(TextBox3, "general number")
        .Range("J" & p).Value = Format(TextBox3, "general number")
        .Range("H" & p).Value = UCase(TextBox4)
        .Range("G" & p).Value = TextBox5
        .Range("K" & p).Value = Format(TextBox7, "0#"" ""##"" ""##"" ""##"" ""##")
        .Range("L" & p).Value = TextBox6

        If Month(.Range("D" & p - 1)) = Month(.Range("D" & p)) Then
            .Range("A" & p) = .Range("A" & p - 1) + 1
        Else: .Range("A" & p) = 1
        End If
     End With
End If
'remise à 0 du formulaire
For i = 1 To Me.Controls.Count
On Error Resume Next
    Me.Controls("Textbox" & i) = ""
    Me.Controls("Combobox" & i) = ""
Next i
End Sub

Cordialement

bonsoir,

ok je vous remercie je vais tester ça

merci encore

cordialement

bonsoir,

ok je vous remercie je vais tester ça

merci encore

cordialement

Rechercher des sujets similaires à "numerotation lignes automatique fonction date"