bonjour à tous
j'ai un petit problème avec le code utiliser ci dessous.
je l'utilise pour modifier des lignes d'une page par l'intermèdiaire d'un userform et textbox.
si pour la ligne 4 et 5 les textbox sont vide et cela arrive la macro provoque une erreur.
comment éviter cela en disant:
si mes textbox "Début" et "Fin" (qui sont des dates) sont vides alors renvoyer valeur vide sinon la valeur des nouvelles dates modifiées.
Private Sub CommandButton1_Click()
Dim lig As Long
If ListBox3.ListIndex = -1 Then
Exit Sub
End If
Sheets(ComboBox3.Value).Select
Range("a1") = ListBox3.Value
Cells.Find(Range("a1").Value, LookIn:=xlValues).Activate
With ActiveCell
.EntireRow.Select
End With
lig = ActiveCell.Row
re
quant je dis lignes 4 et 5 en fait c'est colonne 4 et 5
ici:
Cells(lig, 4).Value = CDate(Format(UserForm1.Début.Value, "dd,mm,yyyy"))
Cells(lig, 5).Value = CDate(Format(UserForm1.Fin.Value, "dd,mm,yyyy"))
If isDate(UserForm1.Début.Value) then
Cells(lig, 4).Value = CDate(Format(UserForm1.Début.Value, "dd,mm,yyyy"))
end if
If isDate(UserForm1.Fin.Value) then
Cells(lig, 5).Value = CDate(Format(UserForm1.Fin.Value, "dd,mm,yyyy"))
end if
P.S. dans l'éditeur des post il y a sur la barre de mise en forme un bouton '#' qui permet d'insérer la balise code dans le message.
re
cela marche si je modifie le code en enlevant
Cdate(format(
et en laissant que UserForm1.Début.Value et UserForm1.Fin.Value
mais il faut que je force le format date sinon mes date s'affiche en mm,dd,yyyy
et je veux dd,mm,yyyy
If isDate(UserForm1.Début.Value) then Cells(lig, 4).Value = UserForm1.Début.Value
Normalement Excel fera la conversion automatiquement puisque l'expression représente une date. IsDate(DTE) = true l'orsque l'expression 'DTE' peut être interprétée comme une date.