IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

groupe d'option dans userform [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 48
    Points
    48
    Par défaut groupe d'option dans userform
    Bonjour à tous,

    J'ai créé un Userform multipage avec textbox combobox et optionButton avec frame.

    Je saisi plusieurs fiches, les infos vont bien renseigner les différentes colonnes de ma feuille jusque là tout est ok.

    Le problème est le suivant, lorsque je lance mon userform et que je fais défiler les enregistrements toutes les infos s'affichent sauf celles saisies en cochant les cases options. Exemple sur la fiche de Monsieur Martin je peux lire son nom prénom…. mais en ce qui concerne l'info Sexe si case Homme cochée à la saisie à la lecture de la fiche les deux options sont cochées et grisées. Je ne vois pas où est l'erreur. Merci pour votre aide et bonne journée.

    Voici une partie du code du bouton valider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    Private Sub btnValider_Click()
    Dim sSexe As String
    Dim sOuiNon As String
    Dim sTutelle As String
    Dim sRefMed As String
    Dim sTempsVieRue As String
    Dim sCouvSoc As String
    Dim sMutuelle As String
    Dim sHeberg As String
     
        'teste la valeur de l'option Sexe
        If OptionFemme.Value = True Then
     
            'choix de l'option femme
            sSexe = "Femme"
        Else
            'choix de l'option Homme
            sSexe = "Homme"
        End If
     
       'Tester le bouton d'origine
        If gfboNouveau = True Then
     
            'Affecter la nouvelle valeur à gfiligne.
            'gfiLigne = gfiLigne + 1
     
            'Se positionner dans la première ligne vide.
            ActiveCell.Offset(gfiLigne, 0).Value = libCode.Caption
            ActiveCell.Offset(gfiLigne, 1).Value = txtCreateur
            ActiveCell.Offset(gfiLigne, 2).Value = txtDateCreation
            ActiveCell.Offset(gfiLigne, 3).Value = cmbOriente
            ActiveCell.Offset(gfiLigne, 4).Value = txtNom
            ActiveCell.Offset(gfiLigne, 5).Value = txtPrenom
            ActiveCell.Offset(gfiLigne, 6).Value = sSexe
            ActiveCell.Offset(gfiLigne, 7).Value = txtDateNaiss
            ActiveCell.Offset(gfiLigne, 8).Value = txtAge
     
    'Mémo de la nouvelle position
            gfiLigne = gfiLigne + 1
            iPos = gfiLigne - 1
     
            'Gestion affichage navigation.
            Call p_Nav
     
            'Mise à jour du compteur.
            Range("AT1").Value = Range("AT1").Value + 1
     
        Else
     
            'Se repositionner dans la ligne en cours de modification.
            ActiveCell.Offset(iPos, 0).Value = libCode.Caption
            ActiveCell.Offset(iPos, 1).Value = txtCreateur
            ActiveCell.Offset(iPos, 2).Value = txtDateCreation
            ActiveCell.Offset(iPos, 3).Value = cmbOriente
            ActiveCell.Offset(iPos, 4).Value = txtNom
            ActiveCell.Offset(iPos, 5).Value = txtPrenom
            ActiveCell.Offset(iPos, 6).Value = sSexe
            ActiveCell.Offset(iPos, 7).Value = txtDateNaiss
            ActiveCell.Offset(iPos, 8).Value = txtAge
     
      End If
     
            'Appel de la procédure de blocage.
            Call p_Bloque
     
            'Rénitialisation du Boleen.
            gfboNouveau = False
     
            'Gestion de l'état des boutons.
            Call p_Ouverture
     
    End Sub
    Voici une partie du code du bouton lecture

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    Public Sub p_Lecture_Ligne1()
     
        'Lecture des données.
        libCode.Caption = ActiveCell.Offset(1, 0).Value
        txtCreateur = ActiveCell.Offset(1, 1).Value
        txtDateCreation = ActiveCell.Offset(1, 2).Value
        cmbOriente = ActiveCell.Offset(1, 3).Value
        txtNom = ActiveCell.Offset(1, 4).Value
        txtPrenom = ActiveCell.Offset(1, 5).Value
        OptionFemme = ActiveCell.Offset(1, 6).Value
        OptionHomme = ActiveCell.Offset(1, 6).Value
        txtDateNaiss = ActiveCell.Offset(1, 7).Value
        txtAge = ActiveCell.Offset(1, 8).Value
        txtLieuNaiss = ActiveCell.Offset(1, 9).Value
        cmbNationalite = ActiveCell.Offset(1, 10).Value
        txtPays = ActiveCell.Offset(1, 11).Value
        txtNSS = ActiveCell.Offset(1, 12).Value
        CmbSituationFamille = ActiveCell.Offset(1, 13).Value
        txtMemo1 = ActiveCell.Offset(1, 14).Value
        txtNomRef = ActiveCell.Offset(1, 15).Value
        cmbOrganismeR = ActiveCell.Offset(1, 16).Value
        txtPhone1 = ActiveCell.Offset(1, 17).Value
        txtNomRef2 = ActiveCell.Offset(1, 18).Value
        cmbOrganismeR2 = ActiveCell.Offset(1, 19).Value
        txtPhone2 = ActiveCell.Offset(1, 20).Value
        cmbRevenu = ActiveCell.Offset(1, 21).Value
        OptionOui = ActiveCell.Offset(1, 22).Value
        OptionNon = ActiveCell.Offset(1, 22).Value
        cmbdomiciliation = ActiveCell.Offset(1, 23).Value
        Txtmemo2 = ActiveCell.Offset(1, 24).Value
        txtNomProt = ActiveCell.Offset(1, 25).Value
        cmbOrganismeProt = ActiveCell.Offset(1, 26).Value
        txtPhone3 = ActiveCell.Offset(1, 27).Value
        Optiontutelle = ActiveCell.Offset(1, 28).Value
        Optioncuratelle = ActiveCell.Offset(1, 28).Value
        OptionMedoui = ActiveCell.Offset(1, 29).Value
        OptionMednon = ActiveCell.Offset(1, 29).Value
        txtmemo3 = ActiveCell.Offset(1, 30).Value
        cmbOrientationMed = ActiveCell.Offset(1, 31).Value
        CmbProvenance = ActiveCell.Offset(1, 32).Value
        CmbsituationErrance = ActiveCell.Offset(1, 33).Value
        Optionmoins1S = ActiveCell.Offset(1, 34).Value
        Optionmoins1M = ActiveCell.Offset(1, 34).Value
        Option1a6M = ActiveCell.Offset(1, 34).Value
        Option6M1A = ActiveCell.Offset(1, 34).Value
        Option1a2A = ActiveCell.Offset(1, 34).Value
        Option2a5A = ActiveCell.Offset(1, 34).Value
        Option5APlus = ActiveCell.Offset(1, 34).Value
        OptionNSP = ActiveCell.Offset(1, 34).Value
        TxtParcoursA = ActiveCell.Offset(1, 35).Value
        TxtObjectifEx = ActiveCell.Offset(1, 36).Value
        CmbPieceIdentite = ActiveCell.Offset(1, 37).Value
        TxtDateExpi = ActiveCell.Offset(1, 38).Value
        OptionNul = ActiveCell.Offset(1, 39).Value
        OptionRegG = ActiveCell.Offset(1, 39).Value
        Optioname = ActiveCell.Offset(1, 39).Value
        OptionRien = ActiveCell.Offset(1, 40).Value
        Optioncmuc = ActiveCell.Offset(1, 40).Value
        OptionNC = ActiveCell.Offset(1, 40).Value
        OptionAvert = ActiveCell.Offset(1, 41).Value
        OptionExclu = ActiveCell.Offset(1, 41).Value
        OptionFinSejour = ActiveCell.Offset(1, 41).Value
        TxtMemo4 = ActiveCell.Offset(1, 42).Value
        CmbOrientation = ActiveCell.Offset(1, 43).Value
        CmbSiteAccueil = ActiveCell.Offset(1, 44).Value
     
    End Sub

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Je ne travaille pas avec les activecell, mais bon, tes optionbutton doivent récupérer une valeur booléen (True, False, Null)
    Essaie ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        OptionFemme = ActiveCell.Offset(1, 6).Value="Femme"
             OptionHomme = ActiveCell.Offset(1, 6).Value="Homme"
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 48
    Points
    48
    Par défaut groupe d'option dans userform
    Merci beaucoup. J'ai modifié la ligne de code et cela ne fonctionne pas mes options "sexe" restent cochées et grisées en mode lecture
    encore merci

  4. #4
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Après test, j'ai ré édité le code et ça fonctionne du moment que la colonne et la donnée de cette colonne sont soit "Femme", Soit "Homme"
    sinon tu peux réessayer le code (après vérification de ta colonne et tes données)
    l'activecell reste très abstraite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.OptionFemme.Value = UCase(Trim(ActiveCell.Offset(1, 6).Value)) = "HOMME"
    Me.OptionHomme.Value = UCase(Trim(ActiveCell.Offset(1, 6).Value)) = "FEMME"
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Points : 48
    Points
    48
    Par défaut groupe d'option dans userform
    Merci cela fonctionne maintenant. J'avais oublié de modifier le code de mes boutons de déplacement :

    Mille mercis et bon week-end !

    bout de code bouton Prev :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub btnPrev_Click()
     
        'Se positionne sur l'enregistrement précedent.
        If iPos = 1 Then
            MsgBox "Premier enregistrement", vbInformation, "Navigation"
        Else
            'Lecture des données
            libCode.Caption = ActiveCell.Offset(iPos - 1, 0).Value
            txtCreateur = ActiveCell.Offset(iPos - 1, 1).Value
            txtDateCreation = ActiveCell.Offset(iPos - 1, 2).Value
            cmbOriente = ActiveCell.Offset(iPos - 1, 3).Value
            txtNom = ActiveCell.Offset(iPos - 1, 4).Value
            txtPrenom = ActiveCell.Offset(iPos - 1, 5).Value
            OptionFemme = ActiveCell.Offset(iPos - 1, 6).Value = "Femme"
            OptionHomme = ActiveCell.Offset(iPos - 1, 6).Value = "Homme"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Groupe d'options dans un formulaire
    Par dubdub1 dans le forum IHM
    Réponses: 10
    Dernier message: 11/04/2014, 14h01
  2. [AC-2010] Groupe d'options dans ruban
    Par Guy FALESSE dans le forum IHM
    Réponses: 15
    Dernier message: 05/09/2012, 13h58
  3. [AC-97] Gérer groupe d'options dans un formulaire
    Par Tofidou dans le forum VBA Access
    Réponses: 7
    Dernier message: 09/07/2012, 15h50
  4. Réponses: 7
    Dernier message: 16/04/2011, 15h05
  5. Réponses: 12
    Dernier message: 07/02/2007, 16h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo