Routine de contrôle en VBA

Chrif/71 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

je débute dans VBA , j'ai un petit souci

je veux créer une routine que me controlera le N° de la sécu sociale:

exp :
dans cellule A1 :
VALEUR 1 pour le sexe Masculin
VALEUR 2 pour le sexe Féminin

Dans Cellule A2:
Année de naissance ( 81)

Dans Cellule A3:
Mois de naissance ( 06)

Dans Cellule A4:
Département de naissance ( 75)

Je désire si je saisisse dans A9 : le N° de la sécurité sociale , la routine ou la fonction extrait lesdonnées dedifférentes cellules et compare les 2 valeur si c'est faux , une boîte de dialogue s'affiche et que les valeurs de A1+ A2+A3 et A4 s'affichent dans A10

Merci d'avance
A voir également:

4 réponses

Archi-dessin Messages postés 270 Date d'inscription   Statut Membre Dernière intervention   25
 
vous etes etudiant
0
Chrif/71 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

je suis un salarié ,

j'ai besoin de cette routine pour faire des maquettes afin de me faciliter le travail
0
Chrif/71 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

je suis un salarié ,

j'ai besoin de cette routine pour faire des maquettes afin de me faciliter le travail

Merci de votre aide
0
Chrif/71 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

je suis un salarié ,

j'ai besoin de cette routine pour faire des maquettes afin de me faciliter le travail

Merci de votre aide
0
Archi-dessin Messages postés 270 Date d'inscription   Statut Membre Dernière intervention   25 > Chrif/71 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
est ce que vous connaissez la logique de programmation
0
Chrif/71 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   > Archi-dessin Messages postés 270 Date d'inscription   Statut Membre Dernière intervention  
 
oui un peu

j'ai cherché sur internet et j'ai ecris un code mais il marche pas :



Private Sub TEST_SECU_Click()
Dim V1 As String
Dim V2 As String

V1 = Mid(cells(13, 12).Value, 1, 2) & Mid(cells(15, 1).Value, 1, 2) & Mid(cells(9, 12).Value, 1, 2) & Mid(cells(14, 12).Value, 1, 2)
V2 = Mid(cells(16, 3).Value, 1, 8)
If TEST_SECU.Value = True And V1 <> V2 Then
MsgBox " N° sécurité Sociale FAUX", vbCritical, "ERREUR"
cells(16, 3).Value = Mid(cells(13, 12).Value, 1, 2) & Mid(cells(15, 12).Value, 1, 2) & Mid(cells(9, 12).Value, 1, 1) & Mid(cells(14, 12).Value, 1, 2)
cells(17, 12).Value = Mid(cells(9, 12).Value, 1, 3)
End If
End Sub
0
Archi-dessin Messages postés 270 Date d'inscription   Statut Membre Dernière intervention   25
 
c'est facile si c'est vous qui la réaliser.
tu crois qu'il ne presente pas d'erreur d'après ce qu vous avez écrit
0
Chrif/71
 
Rebonjour,

le souci c'est lorsque le mois de naissance est de janvier à septembre
Dim me renvoie seulement un chiffre de 1 à 9 alors que j'ai besoin qu'il m'affiche : 01 à 09

Exp :
une femme
Date de naissance: 09/05/1985
Departiment de naissance : 91

N° sécurité sociale : 285059100000000

V1: 285591
V2:2850591
0
Archi-dessin Messages postés 270 Date d'inscription   Statut Membre Dernière intervention   25 > Chrif/71
 
utiliser l'instruction format(date, jjjj/mmmm/aaaa)
0
Chrif/71 > Archi-dessin Messages postés 270 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir,

ça marche toujours pas


A+
0
Archi-dessin Messages postés 270 Date d'inscription   Statut Membre Dernière intervention   25 > Chrif/71
 
j'ai duy quitter,
pour votre réponse utliser la fonction Format$(Date, " dd mmmmyyyy")
affecter cette fonction à la cellule qui reçoi la date
et la Date qui est dans la fonction remplacer par la cellule qui contient la date
0
Chrif/71 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   > Archi-dessin Messages postés 270 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir ,

la cellule qui reçoit la date ( Format, date , ddmmyy)

ça marche pas


Je pense que j'ai pas bien compris ce que vous voulez dire

Merci d'avance
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
la sub... Private Sub TEST_SECU_Click() est liée à l'événement clic d'un contrôle OptionButton.
Dim ne renvoi rien, il sert à la déclaration de variable (pour que VBA sache quel genre de variable elle contiendra)

cogite déja un peu sur...
Sub TesterNumero()
Dim R As Long, V1 As String, V2 As String, V3 As String
Dim V4 As String
    Sheets("Feuil1").Select 'a adapter au nom de la feuille
    R = 1 'savoir sur quel ligne travailler
    V3 = "0" & Cells(R, 3).Value
    V4 = "0" & Cells(R, 2).Value 'pour les année 2001,2002 etc..
    V1 = Cells(R, 1).Value & Right(V4, 2) & Right(V3, 2) & Cells(R, 4).Value
    V2 = Left(Cells(9, 1).Value, 8) 'ce qui est dans A9
    
End Sub

A+
0
Chrif/71 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir :


dans cellule A1 :
1 pour le sexe Masculin
2 pour le sexe Féminin

Dans Cellule A2:
Année de naissance ( 81)

Dans Cellule A3:
Mois de naissance ( 06)

mois de naissance de juin

Mid (cellA3,1,2) = 6
le souci pour les mois de naissance de Janvier à septembre c'est qu'elle me renvoit un seul chiffre
alors il me faut qu'elle me renvoit 06

Dans Cellule A4:
Département de naissance ( 75)

Je désire si je saisisse dans A9 : le N° de la sécurité sociale , la routine ou la fonction extrait lesdonnées dedifférentes cellules et compare les 2 valeur si c'est faux , une boîte de dialogue s'affiche et que les valeurs de A1+ A2+A3 et A4 s'affichent dans A10


pour vous R ça represente quoi ?


Merci d'avance
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Dans le module de la feuille tu copie..
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim R As Long, V1 As String, V2 As String, V3 As String
Dim V4 As String
    For R = 1 To 4
        If Cells(R, 1).Value = "" Then Exit Sub
    Next R
    V3 = "0" & Cells(3, 1).Value
    V4 = "0" & Cells(2, 1).Value 'pour les année 2001,2002 etc..
    V1 = Cells(1, 1).Value & Right(V4, 2) & Right(V3, 2) & Cells(4, 1).Value
    V2 = Left(Cells(9, 1).Value, 7) 'ce qui est dans A9
    If V1 = V2 Then
        MsgBox "Le numéro en A9=" & V2 & " il est correct", vbOKOnly, "Contrôle"
    Else
        MsgBox "Le numéro en A9 n'est pas correct" & Chr$(13) _
        & "Ce doit être " & V1, vbOKOnly, "Contrôle"
    End If
End Sub


ensuite.. tu rentre les données comme dans ton premier poste
dans A9.. '285059100000000 avec l'apostrophe
ensuite
Dans A1 .. 2 - A2.. 85 - A3.. 6 - A4.. 91
et après behh.. tu modifie une donnée pour voir.
J'espère que cette fois ca répond à ton problème :D
A+
0