Suivi des nuemros selon condition

Bonjour

je suis sur un mini projet de gestion de remise de bordereau, je suis bloqué au niveau de la numérotation, avec ce code tout va bien mais je veux avoir une numérotation pour chaque société choisie ( dans mon cas c'est combobox2 ) . ex si combobox2 contient le nom la société (MOMO) la numérotation dans la feuille NUMERO est dans la collonne A avec le nom de la société en B si combobox2 contient le nom la société (LOLO) la numérotation dans la feuille NUMERO est dans la collonne C avec le nom de la société en D. et ainsi de suite...

voici mon code :

Option Explicit

Private Sub ComboBox1_DropButtonClick()
  Dim Rng As Range, f As Worksheet, MaxNum As Long, Numerosuivant As Long
  ' si la combo est vide, on sort
  If Me.ComboBox1.Value = "" Then Exit Sub
  ' Initialiser MaxNum
  MaxNum = 0
  ' Définir une variable objet pour la feuille source
  Set f = Sheets("NUMERO")
  ' Pour chaque cellule de la colonne
  For Each Rng In f.Range("A2:A" & f.Range("A" & Rows.Count).End(xlUp).Row)
    If Rng.Value <> "" Then
      If CInt(Left(Rng, 4)) = CInt(Me.ComboBox1) Then
        If Rng.Value > MaxNum Then MaxNum = Rng.Value
      End If
    End If
  Next Rng
  ' Incrémenter de 1 pour le numéro suivant
  Numerosuivant = MaxNum + 1
  ' Si le dernier numéro trouvé est bien un numéro de dossier
  If MaxNum > 19000000 Then
    TextBox1.Value = Numerosuivant
  Else
    ' Sinon l'inscrire avec le bon format
    TextBox1.Value = Me.ComboBox1 & Format(Numerosuivant, "0000")
  End If
End Sub

Private Sub CommandButton1_Click()
  Unload Me
End Sub

Private Sub Cbn_Enregistrer_Click()
  Dim NLig As Long, NumDossier As Long, cell As Range
  ' Avec la feuille
  With Sheets("NUMERO")
    ' Récupérer le numéro de la prochaine ligne vide
    NLig = .Range("A" & Rows.Count).End(xlUp).Row + 1
    ' Poser la question
    If MsgBox("Voulez-vous Valider cet enregistrement? " & vbTab, vbYesNo) = vbYes Then
      NumDossier = Me.TextBox1.Value
      Set cell = .Range("A2:A65655").Find(Val(TextBox1), lookat:=xlWhole)
                If Not cell Is Nothing Then
                    MsgBox ("Ce numéro a été déja utilisé;" & Chr(10) & _
                                    " Choisissez un autre numéro !")
      .Range("A" & NLig).Value = ""
      Else
      .Range("A" & NLig).Value = NumDossier
      ' Trier les numéros

    End If
  End If
  End With
  With Worksheets("REMISE")
.Range("G2") = NumDossier
UserForm3.TextBox22.Value = Range("G2").Value
End With
  Unload Me
End Sub

'---Alimente la liste déroulante année budgétaire-----
Private Sub UserForm_Initialize()
  Dim Lig5 As Integer
  For Lig5 = 1899 To 2999
    Me.ComboBox1.AddItem Lig5
  Next Lig5
  Me.ComboBox1 = Year(Now)
  Call ComboBox1_DropButtonClick
  'Enlever le cadre de l'UF
       OteTitleBarre Me.Caption, False 'True pour le remettre

End Sub

Merci à vous

27 vues et 0 réponses.

Rechercher des sujets similaires à "suivi nuemros condition"