Bonjour le Forum,
Pourrez-vous m’aider à optimiser mon code ci-dessous s’il vous plait
Notamment le fichier exemple ci-joint, merci d’avance
Pourrez-vous m’aider à optimiser mon code ci-dessous s’il vous plait
Notamment le fichier exemple ci-joint, merci d’avance
VB:
Sub ctrl()
Dim repense As Integer
If Feuil1.Range("B4") = "" Then
Feuil1.Range("B4").Interior.ColorIndex = 3
repense = MsgBox("Champ de saisie 'A' non renseigné", vbCritical + vbOKOnly, "Champ non renseigné")
Exit Sub
ElseIf Feuil1.Range("B4") >= 0 Then
Feuil1.Range("B4").Interior.Color = xlColorIndexNone
End If
If Feuil1.Range("D5") = "" Then
Feuil1.Range("D5").Interior.ColorIndex = 3
repense = MsgBox("Champ de saisie 'B' non renseigné", vbCritical + vbOKOnly, "Champ non renseigné")
Exit Sub
ElseIf Feuil1.Range("B4") >= 0 Then
Feuil1.Range("D5").Interior.Color = xlColorIndexNone
End If
If Feuil1.Range("B7") = "" Then
Feuil1.Range("B7").Interior.ColorIndex = 3
repense = MsgBox("Champ de saisie 'C' non renseigné", vbCritical + vbOKOnly, "Champ non renseigné")
Exit Sub
ElseIf Feuil1.Range("B7") >= 0 Then
Feuil1.Range("B7").Interior.Color = xlColorIndexNone
End If
If Feuil1.Range("E7") = "" Then
Feuil1.Range("E7").Interior.ColorIndex = 3
repense = MsgBox("Champ de saisie 'D' non renseigné", vbCritical + vbOKOnly, "Champ non renseigné")
Exit Sub
ElseIf Feuil1.Range("E7") >= 0 Then
Feuil1.Range("E7").Interior.Color = xlColorIndexNone
End If
If Feuil1.Range("B15") = "" Then
Feuil1.Range("B15").Interior.ColorIndex = 3
repense = MsgBox("Champ de saisie 'E' non renseigné", vbCritical + vbOKOnly, "Champ non renseigné")
Exit Sub
ElseIf Feuil1.Range("B15") >= 0 Then
Feuil1.Range("B15").Interior.Color = xlColorIndexNone
End If
If Feuil1.Range("E15") = "" Then
Feuil1.Range("E15").Interior.ColorIndex = 3
repense = MsgBox("Champ de saisie 'F' non renseigné", vbCritical + vbOKOnly, "Champ non renseigné")
Exit Sub
ElseIf Feuil1.Range("E15") >= 0 Then
Feuil1.Range("E15").Interior.Color = xlColorIndexNone
End If
Feuil2.Range("B9999").End(xlUp).Offset(1, 0) = Feuil1.Range("B4")
Feuil2.Range("C9999").End(xlUp).Offset(1, 0) = Feuil1.Range("D5")
Feuil2.Range("D9999").End(xlUp).Offset(1, 0) = Feuil1.Range("B7")
Feuil2.Range("E9999").End(xlUp).Offset(1, 0) = Feuil1.Range("E7")
Feuil2.Range("F9999").End(xlUp).Offset(1, 0) = Feuil1.Range("B15")
Feuil2.Range("G9999").End(xlUp).Offset(1, 0) = Feuil1.Range("E15")
Call clear_dn
End Sub
Sub clear_dn()
Dim réponse As Integer
réponse = MsgBox(vbCr & " " & "Les données ont bien été enregistrées" & vbCr & " " & vbCr & " " & "Voulez-vous effacer les champs de saisie ?" _
, vbInformation + vbYesNo, "Enregistrement effectué...")
If réponse = 6 Then
Feuil1.Range("B4").ClearContents
Feuil1.Range("D5").MergeArea.ClearContents
Feuil1.Range("B7").MergeArea.ClearContents
Feuil1.Range("E7").MergeArea.ClearContents
Feuil1.Range("B15").MergeArea.ClearContents
Feuil1.Range("E15").MergeArea.ClearContents
ElseIf réponse = 7 Then
',B7,E7,B15,E15
End If
End Sub