Routine de contrôle en VBA

Chrif/71 Messages postés 8 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
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
Configuration: Windows Vista
Internet Explorer 7.0

4 réponses

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

      je suis un salarié ,

      j'ai besoin de cette routine pour faire des maquettes afin de me faciliter le travail
      0
    2. Chrif/71 Messages postés 8 Statut Membre
       
      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
    3. Chrif/71 Messages postés 8 Statut Membre
       
      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
    4. Archi-dessin Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   25 > Chrif/71 Messages postés 8 Statut Membre
       
      est ce que vous connaissez la logique de programmation
      0
    5. Chrif/71 Messages postés 8 Statut Membre > Archi-dessin Messages postés 281 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
  2. Archi-dessin Messages postés 281 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
    1. 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
    2. Archi-dessin Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   25 > Chrif/71
       
      utiliser l'instruction format(date, jjjj/mmmm/aaaa)
      0
    3. Chrif/71 > Archi-dessin Messages postés 281 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonsoir,

      ça marche toujours pas


      A+
      0
    4. Archi-dessin Messages postés 281 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
    5. Chrif/71 Messages postés 8 Statut Membre > Archi-dessin Messages postés 281 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
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. Chrif/71 Messages postés 8 Statut Membre
       
      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
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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