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 :

Bouton toggles désactivé/activé [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    Par défaut Bouton toggles désactivé/activé
    Bonjour forum.
    J'ai deux bouton toggles pour revenir au calcul précédent et l'autre au calcul effectué avant le précédent.
    À l'ouverture de l'userform le Bt_suivant est désactivé.
    Je souhaiterais maintenant que lorsque je click sur bt_precedente , bt_suivant s'active et bt_precedente se désactive.
    Nb: un seul calcul pour le retour et suivant. L'utilisateur pourra seulement voir que la somme entrée précédemment et revenir au calcul récent pour continuer sa saisie.
    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub bt_precedente()
    with me
    .bt_precedente.enabled= Not .bt_suivant.value
    End with
    End sub
    Merci pour l'aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    Par défaut
    J'aimerais utiliser un seul button toggle. Est il possible d'alterner ? exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if bt_precedente=true then calcul
    Else
    Retour

  3. #3
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    Par défaut Button toggle(fermer/ouvrir)
    J'ai essayé avec la propriété caption.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if test.enabled=false then
    Test.caption="ouvre"
    Else: test.caption="fermer"
    End if
    le nom" fermer "apparaît quand je clique sur le bouton mais reste toujours même quand je clique à nouveau. Alors que c'est "ouvre "qui devrait apparaître

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour afficher un message suivant une valeur booléenne, il est inutile de passer par un test tel que If Then Else
    Exemple à adapter en remplaçant la variable booléenne sw par la propriété booléenne du contrôle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      Dim msg(1)
      Dim sw As Boolean
      msg(0) = "Ouvre": msg(1) = "Ferme"
      sw = True
      MsgBox msg(Abs(sw))
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    Par défaut
    Merci pour votre réponse.
    J'ai opté finalement pour un toggles button alternants.
    Voici le code
    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
    Sub revenir_cells()
    Dim Li As Long
    On Error Resume Next
     
    Li = T_ligne
        With Sheets("BD")
     
            If T_ligne <> "" Then
                If MsgBox("voulez vous revenir à l'annulation de la somme versée précédemment?", _
                    vbYesNo, "Avertissement") <> vbYes Then Exit Sub
                    If Bt_precedente.Value = False Then
                         Bt_precedente.Caption = "<--- précédente "
                        .Range("g" & Li) = Val(Me.T_total) - Val(T_recup)
                        .Range("h" & Li) = Val(.Range("e" & Li) - .Range("G" & Li))
                            If Sheets("BD").Range("h" & Li).Value > 0 Then
                                 Range("i" & Li) = "payement partiel"
                             Else
                                 Range("i" & Li) = "payement total"
                             End If
                    ElseIf Bt_precedente.Value = True Then
                         Bt_precedente.Caption = "retour---> "
                        .Range("g" & Li) = Val(Me.T_total) + Val(T_recup)
                        .Range("h" & Li) = Val(.Range("e" & Li)) - Val(.Range("G" & Li))
                            If Sheets("BD").Range("h" & Li).Value > 0 Then
                                Range("i" & Li) = "payement partiel"
                            Else
                                Range("i" & Li) = "payement total"
                            End If
                initialiser
                T_verse = ""
            Else
                         MsgBox ("Opération impossible. veuillez sélectionner un élément dans le tableau pour revenir à son dernier versement"), _
                 vbCritical, "Erreur"
                 Bt_precedente.Value = False
     
                    End If
            End If
        End With
    End Sub
    Je suis un peu perdu dans l'exécution de mon code. Quand j'utilise aussi le débogage pas à pas , il exécute un autre code.
    Je souhaiterais que: si un élément est sélectionné alors on exécute les opérations et le bouton change de nom et devient ''retour'', sinon le msgbox affiche aucun nom sélectionné et le button reste à true ainsi que le nom ne change pas. Sinon en cliquant de nouveau, le toggles button change de nom et devient'' précédent''et on exécute le second calcul.
    Je pense être concis dans ma rédact. Merci

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

Discussions similaires

  1. désactiver/activer bouton entrer
    Par tidus_6_9_2 dans le forum jQuery
    Réponses: 8
    Dernier message: 22/09/2010, 15h57
  2. désactiver/activer un bouton dans un formulaire
    Par hammag dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/06/2009, 15h27
  3. tester si un bouton radio est activé
    Par kawther dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/05/2007, 23h39
  4. désactivé/activé un chapms de texte
    Par Invité dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/03/2006, 14h57
  5. [TRIGGER] Désactiver/Activer un trigger
    Par nico27 dans le forum SQL
    Réponses: 3
    Dernier message: 16/03/2005, 15h27

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