CHECKBOX - OU/ SI VBA
Bonjour à tous,
J'ai un petit soucis avec ma macro,
J'ai crée un userform pour ajouter ou supprimer un salarié sur un ou plusieurs mois si les checkbox sont cochés,
Voici mon code pour supprimer un salarié :
Sub CommandButton1_Click()
Dim rng As Range
Dim tx As String
If MsgBox("Voulez vous supprimer le salarié ?", 36, "Suppresion") = vbYes Then
If TextBox1.Value = "" Then Exit Sub
tx = TextBox1.Value
End If
Do
Set rng = Range("A11:A200").Find(what:=tx, LookIn:=xlValues, lookat:=xlWhole)
If rng Is Nothing Then
Exit Do
Else
If CheckBox1 = True Then Sheets("JANVIER").Rows(rng.Row).Delete
If CheckBox2 = True Then Sheets("FEVRIER").Rows(rng.Row).Delete
If CheckBox3 = True Then Sheets("MARS").Rows(rng.Row).Delete
If CheckBox4 = True Then Sheets("AVRIL").Rows(rng.Row).Delete
If CheckBox5 = True Then Sheets("MAI").Rows(rng.Row).Delete
If CheckBox6 = True Then Sheets("JUIN").Rows(rng.Row).Delete
If CheckBox7 = True Then Sheets("JUILLET").Rows(rng.Row).Delete
If CheckBox8 = True Then Sheets("AOUT").Rows(rng.Row).Delete
If CheckBox9 = True Then Sheets("SEPTEMBRE").Rows(rng.Row).Delete
If CheckBox10 = True Then Sheets("OCTOBRE").Rows(rng.Row).Delete
If CheckBox11 = True Then Sheets("NOVEMBRE").Rows(rng.Row).Delete
If CheckBox12 = True Then Sheets("DECEMBRE").Rows(rng.Row).Delete
End If
Loop
End Sub
Mon problème est le suivant, mon salarié ce supprime bien si je pars de janvier .. Si je commence à partir de mars par exemple plus rien ne ce passe
Je pense que c'est le problème du au "si" mais je ne sais pas si je peux ajouter un OU/ET SI et comment le faire
Merci par avance pour votre aide
Bonne soirée
- Messages
- 2'417
- Excel
- 2019
- Inscrit
- 13/07/2017
- Emploi
- Formateur, animateur,tech.informatique
Bonsoir
à tester avec :
elseif ou elseif:
If CheckBox1 = True Then Sheets("JANVIER").Rows(rng.Row).Delete
ElseIf CheckBox2 = True Then Sheets("FEVRIER").Rows(rng.Row).Delete
ElseIf CheckBox3 = True Then Sheets("MARS").Rows(rng.Row).Delete
crdlt,
André
Merci pour votre réponse,
J'ai essayé, j'ai peut être mal écrit mais ça ne marche pas vraiment, en février y a un problème si je supprime B ça m’enlève B mais aussi tout ce qu'il y a en dessous B
J'ai joint mon fichier
Ca a plutot l'air de fonctionner avec ca :
Sub CommandButton1_Click()
Dim rng As Range
Dim tx As String
If MsgBox("Voulez vous supprimer le salarié ?", 36, "Suppresion") = vbYes Then
If TextBox1.Value = "" Then Exit Sub
tx = TextBox1.Value
End If
Do
Set rng = Range("A11:A200").Find(what:=tx, LookIn:=xlValues, lookat:=xlWhole)
If rng Is Nothing Then
Exit Do
End If
If CheckBox1 = True Then
Sheets("JANVIER").Rows(rng.Row).Delete
End If
If CheckBox2 = True Then
Sheets("FEVRIER").Rows(rng.Row).Delete
End If
If CheckBox3 = True Then
Sheets("MARS").Rows(rng.Row).Delete
End If
If CheckBox4 = True Then
Sheets("AVRIL").Rows(rng.Row).Delete
End If
If CheckBox5 = True Then
Sheets("MAI").Rows(rng.Row).Delete
End If
If CheckBox6 = True Then
Sheets("JUIN").Rows(rng.Row).Delete
End If
If CheckBox7 = True Then
Sheets("JUILLET").Rows(rng.Row).Delete
End If
If CheckBox8 = True Then
Sheets("AOUT").Rows(rng.Row).Delete
End If
If CheckBox9 = True Then
Sheets("SEPTEMBRE").Rows(rng.Row).Delete
End If
If CheckBox10 = True Then
Sheets("OCTOBRE").Rows(rng.Row).Delete
End If
If CheckBox11 = True Then
Sheets("NOVEMBRE").Rows(rng.Row).Delete
End If
If CheckBox12 = True Then
Sheets("DECEMBRE").Rows(rng.Row).Delete
End If
Exit Sub
Loop
End Sub
... avoir dans le temps avec plein de test