Compter les numéros d'immatriculation ?

Résolu
Bouzouki Messages postés 314 Date d'inscription   Statut Membre Dernière intervention   -  
Bouzouki Messages postés 314 Date d'inscription   Statut Membre Dernière intervention   -
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

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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
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
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Dans la réponse que j'ai donnée cela est pris en compte!
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
même réponse que pour Pierrot!
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
C'était pour Bouzouki, je n'ai vu ta réponse qu'après :-)
Bon we
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729 > eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci, bon WE à toi aussi
0
Bouzouki Messages postés 314 Date d'inscription   Statut Membre Dernière intervention   21
 
Mille mercis !
Vous êtes super (et rapides) !! :-D
0