Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/02/2011, 17h54   #1
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
Par défaut verification d'immatriculation par un tableau de reference

Salut tout le monde, voila je m’oriente vers votre formidable forum, tout en souhaitant trouver solution.
En travaillant souvent avec excel 2007 pour la saisie d’inventaire s’agissant des numéros de véhicules, par la fin je suis obliger de faire une vérification des numéros saisie, pour voir s’il y a des erreurs c'est-à-dire des faux numéros « erreur de frappes ». Sauf que c’est très pénible de vérifier tout les numéros un par un.
Pour cela j’ai un tableau de référence des immatriculations des véhicules contenant : Type, RIV, RP, Série et Numéro de série
par exemple pour le Type IK série275 le Numéro de série 0001-8 à 0200-6
Ma question est : avoir une fonction qui me permet de vérifier si le numéro que j’ai saisie est juste c'est a dire existe vraiment entre cette plage 0100-8 à 0200-6, et c’est bon sinon, le numéro est faux ou le marquer en rouge par exemple. Afin de procéder rapidement a la vérification.

safirnet123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2011, 09h47   #2
Membre Expert
 
Homme Robert JAMIN
Retraité
Inscription : juillet 2009
Messages : 1 223
Détails du profil
Informations personnelles :
Nom : Homme Robert JAMIN
Âge : 73
Localisation : Belgique

Informations professionnelles :
Activité : Retraité
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 223
Points : 2 022
Points : 2 022
Bonjour,

A éclarcir
Citation:
Numéro de série 0001-8 à 0200-6
et
Citation:
entre cette plage 0100-8 à 0200-6
Le -8 et le -6 sont-ils constants ou peuvent-ils varier si oui comment?

Si on part de 0001-8 quel est le n° suivant 0002-8 ou 0001-9 ou autre ?
__________________
Cordialement.

RJ
rjamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 21h06   #3
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
Citation:
Envoyé par rjamin Voir le message
Bonjour,

A éclarcir

et


Le -8 et le -6 sont-ils constants ou peuvent-ils varier si oui comment?

Si on part de 0001-8 quel est le n° suivant 0002-8 ou 0001-9 ou autre
?
bonjour , et merci pour votre aide ; pour plus d'éclaircissement ; oui ce chiffre n'est pas constant, d'ailleurs c'est lui l'auto-contrôle pour le calculer il y'a un loi a appliquer dont voici la manière:
chiffre d’autocontrôle est lié aux onze chiffres du numéro par une loi mathématique de telle sorte que les erreurs accidentelles de frappe puissent être détectées.
Ce chiffre d’auto-controle s’élabore de la manière suivante :
• Les chiffres de rang pair du nombre primitif (comptes à partir de la droite) sont pris avec leur valeur décimale propre.
• Les chiffres de rang impair du nombre primitif (comptés à partir de la droite) sont multipliés par 2.
• On constitue la somme formée par les chiffres de rang pair et par tous les chiffres constituant les produits partiels provenant des chiffres de rang impair ; on retient le chiffre des unités de cette somme.
• Le complément à 10 du chiffre des unités constitue le chiffre d »auto-control ; si ce chiffre des unités est zéro, le chiffre d’autocontrôle est également zéro.

safirnet123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 14h02   #4
Membre Expert
 
Homme Robert JAMIN
Retraité
Inscription : juillet 2009
Messages : 1 223
Détails du profil
Informations personnelles :
Nom : Homme Robert JAMIN
Âge : 73
Localisation : Belgique

Informations professionnelles :
Activité : Retraité
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 223
Points : 2 022
Points : 2 022
Bonjour,

Si je comprends bien il faut vérifier si le nombre saisi est bien dans la plage, mais également si le chiffre de contrôle est juste ?
Il faudra donc tenir compte des n° RIV et RP pour tester la validité du contrôle.

Ce n'est pas simple mais cela doit être possible.
__________________
Cordialement.

RJ
rjamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 16h05   #5
Membre Expert
 
Homme Robert JAMIN
Retraité
Inscription : juillet 2009
Messages : 1 223
Détails du profil
Informations personnelles :
Nom : Homme Robert JAMIN
Âge : 73
Localisation : Belgique

Informations professionnelles :
Activité : Retraité
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 223
Points : 2 022
Points : 2 022
Re,

Un exemple de ce que l'on peut faire avec la fonction STXT pour extraire les parties d'un n° en format texte.
Une mise en forme conditionnelle permet de mettre en rouge la cellule qui contient un n° non conforme (hors plage ou extension de contrôle non valide)

A tester.
__________________
Cordialement.

RJ
rjamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 16h51   #6
Membre Expert
 
Avatar de Daranc
 
Inscription : janvier 2007
Messages : 1 166
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 1 166
Points : 1 244
Points : 1 244
apparemment il ne sers plus à rien le code de contrôle
si je regarde les exemple fournis
il suffit que les premier nombres soit égaux ( les trois premières colonnes et que les quatre chiffre suivant soit entre les valeurs mini et maxi la valeur de contrôle est un bonus
__________________
Cordialement
Daranc
Daranc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 17h29   #7
Membre Expert
 
Avatar de Daranc
 
Inscription : janvier 2007
Messages : 1 166
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 1 166
Points : 1 244
Points : 1 244
sans compter , mais
219212013802 ça fait bien un code de contrôle de 8 est ce qu'il est dans les bonne solution?
219448001502 celui la est bien entre 0001 et 0200-8 code de controle 8
donc c'est bien à vérifier qu'il soit entre 31922750001 et 31922750200
la fonction n'est que pour calculer le code de contrôle
Code :
1
2
3
4
5
6
7
8
9
10
11
 Function ConTr(a As String)
For t = Len(a) To 1 Step -2
u = CInt(Mid(a, t, 1)) * 2
If u > 9 Then u = u - 9
p = u + p
Next
For t = Len(a) - 1 To 1 Step -2
p = CInt(Mid(a, t, 1)) + p
Next
ConTr = p
 End Function
pour le reste un concatener dans un cnum devrait permettre de borner le champs des possibles
__________________
Cordialement
Daranc
Daranc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 17h12   #8
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
Citation:
Envoyé par rjamin Voir le message
Re,

Un exemple de ce que l'on peut faire avec la fonction STXT pour extraire les parties d'un n° en format texte.
Une mise en forme conditionnelle permet de mettre en rouge la cellule qui contient un n° non conforme (hors plage ou extension de contrôle non valide)

A tester.

merci infiniment pour votre aide,
je vais tester votre solution, merci encore une fois
safirnet123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 17h14   #9
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
Citation:
Envoyé par Daranc Voir le message
sans compter , mais
219212013802 ça fait bien un code de contrôle de 8 est ce qu'il est dans les bonne solution?
219448001502 celui la est bien entre 0001 et 0200-8 code de controle 8
donc c'est bien à vérifier qu'il soit entre 31922750001 et 31922750200
la fonction n'est que pour calculer le code de contrôle
Code :
1
2
3
4
5
6
7
8
9
10
11
 Function ConTr(a As String)
For t = Len(a) To 1 Step -2
u = CInt(Mid(a, t, 1)) * 2
If u > 9 Then u = u - 9
p = u + p
Next
For t = Len(a) - 1 To 1 Step -2
p = CInt(Mid(a, t, 1)) + p
Next
ConTr = p
 End Function
pour le reste un concatener dans un cnum devrait permettre de borner le champs des possibles
c'est sympa, mais je n'ai pas de connaissance en VBA, je suis que débutant
merci comme même pour votre idée
safirnet123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h16.


 
 
 
 
Partenaires

Hébergement Web