Macro et les cases à cocher

Zam

XLDnaute Nouveau
Bonjour,

J'ai deux petits soucis avec les macros qui s’exécutent par les cases à cocher et j’espère que quelqu'un vas pouvoir me venir en aide :

J'ai 2 macros sur ma feuille qui fonctionnent à l'aide de case à cocher.

J'aimerai que mes macros fonctionnent uniquement lorsque je coche mes cases (actuellement quand je clic une première fois sur ma case un trait apparait m'indiquant qu'elle est coché et mes données apparaissent mais quand je veux décocher ma case , mon trait disparait mais mes données se remette).

Enfaite en gros à chaque clic sur ma case la macro s’exécute. Je voudrai qu'elle s’exécute uniquement lorsque je la coche et que mes données s'efface quand je la décoche.

Deuxième soucis, est-il possible de faire en sorte que lorsque je coche une des 2 cases la seconde se décoche automatiquement en supprimant les données qu'elle exécute ?
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Macro et les cases à cocher

Bonjour Zam, bonjour le forum,

est-il possible de faire en sorte que lorsque je coche une des 2 cases la seconde se décoche automatiquement en supprimant les données qu'elle exécute ?
Ce n'est pas des cases à cocher (CheckBox) qu'il te faut dans ce cas mais des boutons d'option (OptionButton)
Si tu as deux boutons d'options le code devrait être :

Code:
Private Sub OptionButton1_Click()
If Me.OptionButton1 = True Then
    'ton action (1) si cochée
Else
    'ton action (2) si décoché
End If
End Sub

Private Sub OptionButton2_Click()
If Me.OptionButton1 = True Then
    'ton action (2) si cochée
Else
    'ton action (1) si décoché
End If
End Sub
Les actions sont inversées puisque cocher un bouton décoche l'autre. Mais, sans fichier exemple, difficile de t'en dire plus...

[Édition]
Bonjour Philippe on s'est croisé...
 

Zam

XLDnaute Nouveau
Re : Macro et les cases à cocher

Merci pour vos réponses aussi rapide

oui c'est vrai qu'avec un fichier joint c'est plus parlant.


Je tiens à préciser que je suis novice dans les macros, du coup je comprend pas tout...
 

Pièces jointes

  • testbis.xls
    59.5 KB · Affichages: 47
  • testbis.xls
    59.5 KB · Affichages: 52
  • testbis.xls
    59.5 KB · Affichages: 59

Robert

XLDnaute Barbatruc
Repose en paix
Re : Macro et les cases à cocher

Bonjour Zam, Philippe, bonjour le forum,

En pièce jointe ton fichier modifié. J'ai utilisé des contrôles de la barre d'outils Boîte à outils Contrôle, et simplifié ton code (en supprimant les Select qui ralentissent toujours l'exécution du code et ne sont que rarement nécessaires). Le code se trouve dans le composant Feuil2(Feuil2).
Le fichier :
 

Pièces jointes

  • Zam_v01.xls
    62 KB · Affichages: 62

Zam

XLDnaute Nouveau
Re : Macro et les cases à cocher

Merci beaucoup !!! c'est exactement ce que je voulais :D


Juste une petite question, j'ai essayé de le refaire pour comprendre comment ça fonctionner, j'ai réussi à faire mes 2 optionbutton mais ça me les mets dans UserForm1 et non dans Feuil2...
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro et les cases à cocher

Re bonjour,

lorsqu'on veut mettre un optionbutton sur une feuille, c'est ici:

111.jpg

lorsqu'on le met sur un USF, voir ci-dessous

111a.jpg

à+
Philippe
 

Pièces jointes

  • 111.jpg
    111.jpg
    64.9 KB · Affichages: 119
  • 111.jpg
    111.jpg
    64.9 KB · Affichages: 120
  • 111a.jpg
    111a.jpg
    65.4 KB · Affichages: 122
  • 111a.jpg
    111a.jpg
    65.4 KB · Affichages: 129

Zam

XLDnaute Nouveau
Re : Macro et les cases à cocher

J'ai compris pourquoi ça ne me le mettais pas dans Feuil2 c'est parce que je ne cliquer pas avec le bouton droit de la souris sur mon ControleActivX mais j'allait directement dans visual Basic.

Il doit y avoir une autre manip ou un autre VBA à entrer pour que lorsque j'active un bouton le second se désactive automatiquement.

Je vois pas comment Robert a fait pour ça...

En tout cas merci beaucoup pour votre aide et du temps que vous me consacrer !!!
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro et les cases à cocher

Re,
Il doit y avoir une autre manip ou un autre VBA à entrer pour que lorsque j'active un bouton le second se désactive automatiquement.

Je vois pas comment Robert a fait pour ça...
il n'y a rien à faire et pas de code à mettre
lorsqu'on utilise des Optionbutton, le fait d'en cocher un décoche automatiquement les autres
en toute circonstance, il y en aura toujours un seul qui sera coché ( le dernier sur lequel on a cliqué )

..... sauf lorsqu'ils sont groupés

dans le cas de cases à cocher, on peut cocher-décocher à volonté sans affecter les autres

voir fichier joint avec optionbutton sur une feuille
le comportement est identique sur un USF

à+
Philippe
 

Pièces jointes

  • 111.xls
    35.5 KB · Affichages: 50
  • 111.xls
    35.5 KB · Affichages: 53
  • 111.xls
    35.5 KB · Affichages: 51

bouchet2

XLDnaute Nouveau
Re : Macro et les cases à cocher

Bonjour
j'ai un souci avec mes boutons d'options
7 boutons A -R-P -AP-AR-DP-DR.
Cela fonctionne et les reponses vont bien dans ma textebox4 toutefois quand j'ai clique par exemple sur P et que j'appellepar ma liste deroulante un autre nom sur la combox2 , le bouton reste sur la dernier choix.
Je voudrais que quand j'ai cliqué sur P ou R , l'option bouton soit de nouveau sur A pour le prochain choix.

De même je cherche que le nom du mandataire que j'inscris dans la combox 2 , s'efface pour le choix suivant.
ci aprés :
Private Sub absent_Click()
P_ou_A = IIf(AB, "P", "A") 'si le bouton est coché => a sinon p
TextBox3 = P_ou_A: ActiveWorkbook.ActiveSheet.Cells(Me.ComboBox2.ListIndex + 16, 10) = P_ou_A
End Sub

Private Sub AP_Click()
AR_ou_AP = IIf(AB, "AR", "AP") 'si le bouton est coché => P sinon A
TextBox3 = AR_ou_AP: ActiveWorkbook.ActiveSheet.Cells(Me.ComboBox2.ListIndex + 16, 10) = AR_ou_AP
End Sub

Private Sub AR_Click()
AP_ou_AR = IIf(AB, "AP", "AR") 'si le bouton est coché => P sinon A
TextBox3 = AP_ou_AR: ActiveWorkbook.ActiveSheet.Cells(Me.ComboBox2.ListIndex + 16, 10) = AP_ou_AR
End Sub

Private Sub DP_Click()
DR_ou_DP = IIf(AB, "DR", "DP") 'si le bouton est coché => P sinon A
TextBox3 = DR_ou_DP: ActiveWorkbook.ActiveSheet.Cells(Me.ComboBox2.ListIndex + 16, 10) = DR_ou_DP

End Sub

Private Sub DR_Click()
DP_ou_DR = IIf(AB, "DP", "DR") 'si le bouton est coché => P sinon A
TextBox3 = DP_ou_DR: ActiveWorkbook.ActiveSheet.Cells(Me.ComboBox2.ListIndex + 16, 10) = DP_ou_DR
End Sub

Private Sub present_Click()
A_ou_P = IIf(AB, "A", "P") 'si le bouton est coché => P sinon A
TextBox3 = A_ou_P: ActiveWorkbook.ActiveSheet.Cells(Me.ComboBox2.ListIndex + 16, 10) = A_ou_P
End Sub

Private Sub REPRESENTE_Click()
P_ou_R = IIf(AB, "P", "R") 'si le bouton est coché => R sinon A
TextBox3 = P_ou_R: ActiveWorkbook.ActiveSheet.Cells(Me.ComboBox2.ListIndex + 16, 10) = P_ou_R
End Sub
Private Sub TextBox3_Change()
Sheets("emargement").Select
ActiveWorkbook.ActiveSheet.Cells(Me.ComboBox2.ListIndex + 16, 10).Value = Me.TextBox3.Value
End Sub

Private Sub TextBox4_change()
Sheets("emargement").Select
ActiveWorkbook.ActiveSheet.Cells(Me.ComboBox2.ListIndex + 16, 9).Value = Me.TextBox4.Value
'Sheets("emargement").TextBox4.Text = ""
'textBox4.Text = "";
'textBox4.GotFocus -= TextBox1_GotFocus;

Application.ScreenUpdating = True ' Code à placer en fin de macro
End Sub
Private Sub userform_Initialize()
Dim Cell As Range
With Sheets("emargement")
For Each Cell In .Range("C16:C" & .Range("C65536").End(xlUp).Row)

Me.ComboBox2.AddItem (Cell & " " & Cell.Offset(0, 1))
Next
End With
End Sub
Private Sub TextBox4_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal Y As Single)
TextBox4 = ""
End Sub
Private Sub TextBox3_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal Y As Single)
TextBox3 = ""

Merci d'avance.

Jean BOUCHET
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro et les cases à cocher

Bonjour à tous

@ Jean BOUCHET

C'est vraiment le meilleur moyen pour ne pas avoir de réponse

Pour un nouveau sujet,
- on ne squatte pas un autre fil de discussion, on en crée un nouveau
- on évite un bla-bla-bla kilométrique inutile trop long à lire d'autant plus que la question n'est pas accompagnée d'un fichhier qui serait bien utile à la compréhension

à+
Philippe
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87