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 :

le codage qui permet d'avoir un 0 dans une case dés qu'une option est coché


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2021
    Messages : 14
    Points : 5
    Points
    5
    Par défaut le codage qui permet d'avoir un 0 dans une case dés qu'une option est coché
    bonjour,
    j'ai crée un formulaire sur VBA, et j'ai besoin de savoir le codage pour dire que si la case "option sans dividendes" est coché la valeur du "taux de distribution de dividendes" se remplie automatiquement avec la valeur 0 ou qu'on ne peut pas la remplir, car dans le calcul d'un option sans dividendes on a pas de taux de distribution.
    sachant que j'ai nommé option sans dividendes : sans_div
    et taux de distribution de dividendes : d
    j'ai essayé de noté
    if sans_div.valeur = true then
    d.value = 0
    end if
    mais cela n'a pas marché.
    je vous laisse une photo de mon formulaire et merci d'avance.
    Images attachées Images attachées  

  2. #2
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 411
    Points : 2 162
    Points
    2 162
    Par défaut
    Bonjour,
    Sachant que False=0 et True=-1 alors
    d.value = tauxDistrib * ABS(sans_div.valeur)

  3. #3
    Membre actif
    Homme Profil pro
    libre
    Inscrit en
    Juin 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Juin 2019
    Messages : 205
    Points : 292
    Points
    292
    Par défaut
    Peut on voir l'ensemble du code VBA

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2021
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    @wheel ,
    voici le codage
    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
    Private Sub Command_valid_Click()
    If option_call.Value = True Then
            TypeOption = 1
        ElseIf option_put.Value = True Then
            TypeOption = -1
            Else: MsgBox ("Veuillez sélectionner un type!")
        End If
       If TypeOption = 1 Then
    optiont = "Call"
    Else: optiont = "Put"
    End If
    If avec_div.Value = True Then
    optionc = "option avec dividendes"
    ElseIf sans_div.Value = True Then
    optionc = "option sans dividendes"
    Else: MsgBox ("Veuillez sélectionner un type!")
    End If
     
    Feuil2.Activate
    Feuil2.Range("A100000").End(xlUp).Offset(1, 0).Select
    ActiveCell.Offset(0, 0) = d_date
    ActiveCell.Offset(0, 1) = V.Value
    ActiveCell.Offset(0, 2) = K.Value
    ActiveCell.Offset(0, 3) = r.Value
    ActiveCell.Offset(0, 4) = d.Value
    ActiveCell.Offset(0, 5) = T.Value
    ActiveCell.Offset(0, 6) = sigma.Value
    ActiveCell.Offset(0, 7) = optiont
    If avec_div.Value = True Then
    V = Val(V.Value)
        K = Val(K.Value)
        r = Val(r.Value)
        d = Val(d.Value)
        sigma = Val(sigma.Value)
        T = Val(T.Value)
    MsgBox (" Le Prix de votre Option est " & Round(VO1(TypeOption, V, K, r, d, T, sigma), 4) & Chr(13) & Chr(13) & "Veuillez consulter l'historique pour plus de détails sur la sensibilité des paramêtres de l'option")
    ActiveCell.Offset(0, 8) = optionc
    ActiveCell.Offset(0, 9) = VO1(TypeOption, V, K, r, d, T, sigma)
    ActiveCell.Offset(0, 10) = Delta_VO1(TypeOption, V, K, r, d, T, sigma)
    ActiveCell.Offset(0, 11) = Gamma_VO1(V, K, r, d, sigma, T)
    ActiveCell.Offset(0, 12) = vega_VO1(V, K, r, d, sigma, T)
    ActiveCell.Offset(0, 13) = theta_VO1(V, K, r, d, T, sigma)
    ActiveCell.Offset(0, 14) = rho_VO1(V, K, r, d, T, sigma)
    ElseIf sans_div.Value = True Then
    V = Val(V.Value)
        K = Val(K.Value)
        r = Val(r.Value)
        d = Val(0)
        sigma = Val(sigma.Value)
        T = Val(T.Value)
    MsgBox (" Le Prix de votre Option est " & Round(VO2(TypeOption, V, K, r, T, sigma), 4) & Chr(13) & Chr(13) & "Veuillez consulter l'historique pour plus de détails sur la sensibilité des paramêtres de l'option")
    ActiveCell.Offset(0, 8) = optionc
    ActiveCell.Offset(0, 9) = VO2(TypeOption, V, K, r, T, sigma)
    ActiveCell.Offset(0, 10) = Delta_VO2(TypeOption, V, K, r, T, sigma)
    ActiveCell.Offset(0, 11) = Gamma_VO2(V, K, r, sigma, T)
    ActiveCell.Offset(0, 12) = vega_VO2(V, K, r, sigma, T)
    ActiveCell.Offset(0, 13) = theta_VO2(V, K, r, T, sigma)
    ActiveCell.Offset(0, 14) = rho_VO2(V, K, r, T, sigma)
    End If
    Unload Me
    End Sub
    @thumb down
    bonjour merci pour votre réponse,
    pourtant j'ai essayé ce codage est cela n'a pas marché.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    d.Value = d * Abs(sans_div.valeur)
    If sans_div.Value = True Then
    d.Value = -1
    ElseIf sans_div.Value = False Then
    d.Value = 0
    End If

  5. #5
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 411
    Points : 2 162
    Points
    2 162
    Par défaut
    Ce sont des optionbuton et en plus dans des frame donc quand tu coches une option tu décochezms l'autre ? Non?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If avec_div.Value = True Then
    optionc =array(  option sans dividendes","option avec dividendes")(ABS(avec_div.Value))
    If not avec_div.Value   then  MsgBox ("Veuillez sélectionner un type!")

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2021
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Thumb down Voir le message
    Ce sont des optionbuton et en plus dans des frame donc quand tu coches une option tu décochezms l'autre ? Non?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If avec_div.Value = True Then
    optionc =array(  option sans dividendes","option avec dividendes")(ABS(avec_div.Value))
    If not avec_div.Value   then  MsgBox ("Veuillez sélectionner un type!")
    OUI ce sont des options, en gros si on coche la première option y a des calculs qui seront fait et si on coche la deuxième y a d'autre calcul qui seront fait donc oui soit l'une soit l'autre. et lorsque c'est la deuxième qui est coché je veux que la valeur 0 soit directement attribuer à la case tax de distribution je vous laisse le document pour mieux voir.
    Fichiers attachés Fichiers attachés

  7. #7
    Membre actif
    Homme Profil pro
    libre
    Inscrit en
    Juin 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Juin 2019
    Messages : 205
    Points : 292
    Points
    292
    Par défaut
    La première chose a faire c'est ne pas laisser les deux Optionbutton dans le même état donc il faut que l'une soit activée pas défaut ..d’ailleurs on peut voir que le code continue l’exécution malgré une fausse condition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MsgBox ("Veuillez sélectionner un type!")
            Exit Sub 'à ajouter

  8. #8
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 411
    Points : 2 162
    Points
    2 162
    Par défaut
    Citation Envoyé par wheel Voir le message
    La première chose a faire c'est ne pas laisser les deux Optionbutton dans le même état
    En fait il est possible de prédéfinir la valeur True/False dans la fenêtre des propriétées du formulaire !

    Citation Envoyé par Halima-BTY Voir le message
    OUI ce sont des options, en gros si on coche la première option y a des calculs qui seront fait et si on coche la deuxième y a d'autre calcul qui seront fait donc oui soit l'une soit l'autre. et lorsque c'est la deuxième qui est coché je veux que la valeur 0 soit directement attribuer à la case tax de distribution je vous laisse le document pour mieux voir.
    Tu perds de vue que seule la première option est à prendre en considération elle est à True/False

    Oublis ta multitude de elseif un option c'est oui/non pas plus!

  9. #9
    Membre actif
    Homme Profil pro
    libre
    Inscrit en
    Juin 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Juin 2019
    Messages : 205
    Points : 292
    Points
    292
    Par défaut
    On peut dire que lorsque les deux Optionsbutton ne sont pas cochés il est impossible de recuperer la valeur de optionc qui contient soit "option avec dividendes" ou "option sans dividendes"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If avec_div.Value = True Then
    ....
     ActiveCell.Offset(0, 8) = optionc
     ....
    ElseIf sans_div.Value = True Then
     ActiveCell.Offset(0, 8) = optionc
     ...

    ...

  10. #10
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 411
    Points : 2 162
    Points
    2 162
    Par défaut
    tu te complique la vie soit avec_div est coché soit il ne l'est pas!
    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
     
    If avec_div.Value = True Then
     
        V = Val(V.Value)
        K = Val(K.Value)
        r = Val(r.Value)
        d = Val(d.Value)
        sigma = Val(sigma.Value)
        T = Val(T.Value)
        MsgBox (" Le Prix de votre Option est " & Round(VO1(TypeOption, V, K, r, d, T, sigma), 4) & Chr(13) & Chr(13) & "Veuillez consulter l'historique pour plus de détails sur la sensibilité des paramêtres de l'option")
        ActiveCell.Offset(0, 8) = optionc
        ActiveCell.Offset(0, 9) = VO1(TypeOption, V, K, r, d, T, sigma)
        ActiveCell.Offset(0, 10) = Delta_VO1(TypeOption, V, K, r, d, T, sigma)
        ActiveCell.Offset(0, 11) = Gamma_VO1(V, K, r, d, sigma, T)
        ActiveCell.Offset(0, 12) = vega_VO1(V, K, r, d, sigma, T)
        ActiveCell.Offset(0, 13) = theta_VO1(V, K, r, d, T, sigma)
        ActiveCell.Offset(0, 14) = rho_VO1(V, K, r, d, T, sigma)
    Else
        V = Val(V.Value)
        K = Val(K.Value)
        r = Val(r.Value)
        d = Val(0)
        sigma = Val(sigma.Value)
        T = Val(T.Value)
        MsgBox (" Le Prix de votre Option est " & Round(VO2(TypeOption, V, K, r, d, T, sigma), 4) & Chr(13) & Chr(13) & "Veuillez consulter l'historique pour plus de détails sur la sensibilité des paramêtres de l'option")
        ActiveCell.Offset(0, 8) = optionc
        ActiveCell.Offset(0, 9) = VO2(TypeOption, V, K, r, d, T, sigma)
        ActiveCell.Offset(0, 10) = Delta_VO2(TypeOption, V, K, r, d, T, sigma)
        ActiveCell.Offset(0, 11) = Gamma_VO2(V, K, r, d, sigma, T)
        ActiveCell.Offset(0, 12) = vega_VO2(V, K, r, d, sigma, T)
        ActiveCell.Offset(0, 13) = theta_VO2(V, K, r, d, T, sigma)
        ActiveCell.Offset(0, 14) = rho_VO2(V, K, r, d, T, sigma)
    End If
    Nom : Sans titre.png
Affichages : 89
Taille : 366,9 Ko

    En cochant part défaut la case la moins significative tu obligés l'utilisateur à la modifier !

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2021
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Merci pour vos réponses,
    et du coup j'ai fais la même chose pour les deux option call et put, j'ai mis que call est True, je garde le même codage que auparavant ou je dois le changer:
    l'ancien codage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    If option_call.Value = True Then
            TypeOption = 1
        ElseIf option_put.Value = True Then
            TypeOption = -1
            Else: MsgBox ("Veuillez sélectionner un type!")
        End If
       If TypeOption = 1 Then
    optiont = "Call"
    Else: optiont = "Put"
    End If

  12. #12
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 411
    Points : 2 162
    Points
    2 162
    Par défaut
    petite précision
    option_call.Value = True ça donne TRUE donc vue que la valeur de option_call ne peut prendre que la valeur True/false on peut écrire ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If option_call.Value Then
        TypeOption = 1
         optiont = "Call"
    Else 
        TypeOption = -1
     optiont = "Put"
    End If

  13. #13
    Membre actif
    Homme Profil pro
    libre
    Inscrit en
    Juin 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Juin 2019
    Messages : 205
    Points : 292
    Points
    292
    Par défaut
    si la case "option sans dividendes" est coché la valeur du "taux de distribution de dividendes" se remplie automatiquement avec la valeur 0 ou qu'on ne peut pas la remplir, car dans le calcul d'un option sans dividendes on a pas de taux de distribution.
    Si tu veux empêcher l'utilisateur de saisir ou moment ou le "option sans dividendes" est coché et afficher la valeur 0 dans le Textbox d ajouter ce code dans la fiche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub sans_div_Change()
     If sans_div.Value = True Then
        d.Value = 0
        d.Locked = True  ' lecture seule 
     Else
        d.Locked = False
     End If
    End Sub

  14. #14
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2021
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    ça marche très bien mercii,
    et pour créer un bouton qui nous supprime tous l'historique du tableau
    je mis ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If MsgBox("Êtes vous sûr de vouloir supprimer les feuilles non indispensables ? ", vbYesNo) = vbYes Then
     
    Sheets("synthese").Select.Range("b3:d1000").ClearContent
    mais il me dit que le problème est dans la deuxième ligne

  15. #15
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2021
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par wheel Voir le message
    Si tu veux empêcher l'utilisateur de saisir ou moment ou le "option sans dividendes" est coché et afficher la valeur 0 dans le Textbox d ajouter ce code dans la fiche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub sans_div_Change()
     If sans_div.Value = True Then
        d.Value = 0
        d.Locked = True  ' lecture seule 
     Else
        d.Locked = False
     End If
    End Sub
    j'ai essayé le code et il marche bien lorsque je coche la deuxième case le 0 apprait mais je je change et je coche la première cas le 0 reste toujour normalement il doit disparaitre on peut pas faire cela?

  16. #16
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 411
    Points : 2 162
    Points
    2 162
    Par défaut
    on ne teste pas un booléen pour donner la même valeur à un autre booléen le Array c'est une astuce!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub sans_div_Change()
        d.Locked =sans_div
        d.Value = array("",0)(abs(sans_div))
    End Sub

  17. #17
    Membre actif
    Homme Profil pro
    libre
    Inscrit en
    Juin 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Juin 2019
    Messages : 205
    Points : 292
    Points
    292
    Par défaut
    @Thumb down
    Pour une débutante j'évite d'écrire ce genre de code bien qu'il est court est bien élaboré

    j'ai essayé le code et il marche bien lorsque je coche la deuxième case le 0 apprait mais je je change et je coche la première cas le 0 reste toujours normalement il doit disparaitre on peut pas faire cela?
    Il suffira d’inverser la condition ..et ca marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub sans_div_Change()
     If sans_div.Value = False Then
        d.Value = 0
        d.Locked = True
     Else
        d.Value = ""
        d.Locked = False
     End If
    End Sub

    cette partie du code ne sert pas vraiment à grande chose faut la supprimer
    remplace directement le variable optionc par le texte correspondant dans les deux conditions
    soit : "option avec dividendes" ou "option sans dividendes"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If avec_div.Value = True Then
    optionc = "option avec dividendes"
    ElseIf sans_div.Value = True Then
    optionc = "option sans dividendes"
    Else: MsgBox ("Veuillez sélectionner un type!")
    End If

  18. #18
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 411
    Points : 2 162
    Points
    2 162
    Par défaut
    Citation Envoyé par wheel Voir le message
    @Thumb down
    Pour une débutante j'évite d'écrire ce genre de code bien qu'il est court est bien élaboré
    personnellement je suis convaincu qu'il faut aider les demandeur à progresser!

    tu à toi même relevé les incohérence du code de notre amis, notre devoir est de l'aider à trouver par lui même les solution à ses problème voir optimiser ses code!

    If not sans_div Then 'False

    If sans_div Then 'True

  19. #19
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2021
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par wheel Voir le message
    @Thumb down
    Pour une débutante j'évite d'écrire ce genre de code bien qu'il est court est bien élaboré



    Il suffira d’inverser la condition ..et ca marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub sans_div_Change()
     If sans_div.Value = False Then
        d.Value = 0
        d.Locked = True
     Else
        d.Value = ""
        d.Locked = False
     End If
    End Sub

    cette partie du code ne sert pas vraiment à grande chose faut la supprimer
    remplace directement le variable optionc par le texte correspondant dans les deux conditions
    soit : "option avec dividendes" ou "option sans dividendes"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If avec_div.Value = True Then
    optionc = "option avec dividendes"
    ElseIf sans_div.Value = True Then
    optionc = "option sans dividendes"
    Else: MsgBox ("Veuillez sélectionner un type!")
    End If
    Merci beaucoup pour votre aide j'ai bien réussi, et j'ai trop bien compris les codes et comment les manipuler, je ferais pas les mêmes erreurs la prochaine fois.

  20. #20
    Membre actif
    Homme Profil pro
    libre
    Inscrit en
    Juin 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : libre

    Informations forums :
    Inscription : Juin 2019
    Messages : 205
    Points : 292
    Points
    292
    Par défaut
    Citation Envoyé par Halima-BTY Voir le message
    et pour créer un bouton qui nous supprime tous l'historique du tableau
    je mis ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If MsgBox("Êtes vous sûr de vouloir supprimer les feuilles non indispensables ? ", vbYesNo) = vbYes Then
     
    Sheets("synthese").Select.Range("b3:d1000").ClearContent
    mais il me dit que le problème est dans la deuxième ligne
    faut être sur de la du nom de la feuille que tu souhaites utiliser cette page n'existe pas dans le classeur que t'as envoyé !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("nom de feuille").Range("b3:d1000").ClearContents

Discussions similaires

  1. Réponses: 13
    Dernier message: 21/07/2019, 17h43
  2. Réponses: 22
    Dernier message: 11/02/2019, 16h01
  3. Réponses: 4
    Dernier message: 28/05/2018, 15h38
  4. Réponses: 1
    Dernier message: 19/05/2015, 13h21

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