Ecrire "OUI" si checkBox coché et rien si non coché

Myst

XLDnaute Occasionnel
Bonjour le forum
J'ai déjà posté un fichier mais je me suis rendus compte que j'en demandais peut être un peu trop donc j'ai revus mes demandes a la baisse et reposte le fichier avec moins d'exigences
J'ai un userform1 que je remplis par le biais de combobox et de textbox ,une fois les infos saisie je clique sur le bouton "valider" et ça me copie l'ensemble des données dans la dernière ligne vide de la feuil "Base"
Je voudrais afficher le texte "OUI" en bout de ligne dans la colonne "H" en cliquant sur le bouton "valider" si le checkbox est coché et rien s'il ne l'est pas
Merci
 

Pièces jointes

  • V1.xlsm
    36.8 KB · Affichages: 29
  • V1.xlsm
    36.8 KB · Affichages: 34
  • V1.xlsm
    36.8 KB · Affichages: 42

CB60

XLDnaute Barbatruc
Re : Ecrire "OUI" si checkBox coché et rien si non coché

Bonjour
remplace ta macro, par celle ci:
Private Sub CommandButton3_Click()
'bouton VALIDER enregistre les données saisie puis ferme la boite de dialogue'
Dim Ctrl As Control
Dim r As Integer
Dim t As Integer
Dim derligne As Integer
'Worksheets("Base").Protect UserInterfaceOnly:=True 'Protège la feuille et autorise toutes les modifications effectuées par macro.
With Worksheets("Base")
.AutoFilterMode = 0
.Rows.Hidden = 0
derligne = .Range("A65536").End(xlUp).Row + 1
For Each Ctrl In UserForm1.Controls
r = Val(Ctrl.Tag)
If r > 0 Then
If r = 1 Then
Feuil1.Cells(derligne, r) = CDate(Ctrl)
Else
Feuil1.Cells(derligne, r) = Ctrl
End If
End If
Next
If CheckBox1.Value = True Then
Feuil1.Cells(derligne, 8) = "Oui"
Else
Feuil1.Cells(derligne, 8) = ""
End If
End With
CheckBox1.Value = ""
TextBox1 = ""
ActiveWorkbook.Save
End
End Sub
 

Paf

XLDnaute Barbatruc
Re : Ecrire "OUI" si checkBox coché et rien si non coché

bonjour à tous

une autre proposition en gardant le principe adopté:

après avoir défini la propriété Tag de la ChecBox à 8:
Code:
            If r > 0 Then
                If r = 1 Then
                    Feuil1.Cells(derligne, r) = CDate(Ctrl)
                ElseIf r = 8 Then
                    Feuil1.Cells(derligne, r) = IIf(Ctrl.Value, "OUI", "")
                Else
                    Feuil1.Cells(derligne, r) = Ctrl
                End If
            End If

A+
 

Discussions similaires

H
Réponses
19
Affichages
6 K