Compter les numéros d'immatriculation ?

Résolu
Bouzouki Messages postés 350 Statut Membre -  
Bouzouki Messages postés 350 Statut Membre -
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

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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
    3
  2. Pierrot
     
    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.
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Dans la réponse que j'ai donnée cela est pris en compte!
      0
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    il faudrait tenir compte que certaines lettres comme I, O ne sont (ou du moins n'étaient, ça a peut-etre évolué)
    eric
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      même réponse que pour Pierrot!
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      C'était pour Bouzouki, je n'ai vu ta réponse qu'après :-)
      Bon we
      0
      1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730 > eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Merci, bon WE à toi aussi
        0
  4. Bouzouki Messages postés 350 Statut Membre 21
     
    Mille mercis !
    Vous êtes super (et rapides) !! :-D
    0