Compter les numéros d'immatriculation ?

Résolu
Bonjour,

Dans le nouveau système d'immatriculation, le SIV, on une combinaison de 2 lettres + 3 chiffres + 2 lettres ; exemple AA-001-AA

Je sais (intuitivement, LOL) qu'entre les plaques AA-001-AA et AA-999-AA, il y a eu 999 véhicules ; et 1.998 entre AA-001-AA et AA-999-AB....

Mais comment puis-je dénombrer les plaques entre deux numéros ? AB-425-CC et GH-321-VA par exemple ?

Merci par avance de votre aide.

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,

    En vba:

    Option Explicit
    Private Sub CommandButton1_Click()
    Dim plus As String
    Dim moins As String
    plus = InputBox("Saisie plus grande immatriculation : ", "Immatriculation", "GH-321-VA")
    plus = NLib(plus)
    moins = InputBox("Saisie plus petite immatriculation : ", "Immatriculation", "AB-425-CC")
    moins = NLib(moins)
    MsgBox (plus - moins)
    End Sub
    'https://www.excel-downloads.com/threads/incrementation-da-lalphabet-pour-calcul-nb-nouvelle-plaque-immat.141512/
    Function NLib(r$)
    'Exemple : transforme BQ-020-YC en 20 000 000
    Application.Volatile
    Dim a$, ch$, sp
      ch = "ABCDEFGHJKLMNPQRSTVWXYZ"
      a = Replace(r, "-", Space(1))
      If a Like "[A-Z][A-Z] ### [A-Z][A-Z]" And Not (a Like "*000*" Or a Like "*[IOU]*" Or a Like "*SS*" Or a Like "WW*") Then
        sp = Split(a)
        NLib = 999 * (528 * (23 * (InStr(1, ch, Left$(sp(0), 1))) + (InStr(1, ch, Right$(sp(0), 1))) + _
          (sp(0) > "SR") + (sp(0) > "WV")) + 23 * InStr(1, ch, Left$(sp(2), 1)) + _
          (InStr(1, ch, Right$(sp(2), 1))) + (sp(2) > "SR") - 12696) + sp(1)
      Else
        NLib = ""
      End If
    End Function
    
    


    Si tu veux par formules voir ici:

    https://www.excel-downloads.com/threads/incrementation-da-lalphabet-pour-calcul-nb-nouvelle-plaque-immat.141512/

    @+ Le Pivert
    1. C'est compliqué, car il faut prendre en compte que certaines lettres comme le I, le O et le U ne sont pas autorisées, et certaines combinaisons comme WW non plus.
      1. Contributeur
        Dans la réponse que j'ai donnée cela est pris en compte!
    2. Contributeur
      Bonjour,

      il faudrait tenir compte que certaines lettres comme I, O ne sont (ou du moins n'étaient, ça a peut-etre évolué)
      eric
      1. Contributeur
        même réponse que pour Pierrot!
      2. Contributeur
        C'était pour Bouzouki, je n'ai vu ta réponse qu'après :-)
        Bon we
      3. Contributeur
        @eriiicMerci, bon WE à toi aussi