SI(H17="")
super je te remercie ca fonctionne !!Voici ce que j'ai fait, en conservant la formule déjà présente.
Le but est de savoir si la case de la date réelle est remplie ou non. Si elle est videalors, la formule est conservée, sinon la date prévisionnelle égale "".Sass:SI(H17="")
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RgFacture As Range, RgRéglemt As Range, Action$
Set RgFacture = Me.[_t_suivi[F.Date réelle]]
Set RgRéglemt = Me.[_t_suivi[R.Date réelle]]
If Target.Count > 1 Then Exit Sub
Action = ""
If Not Intersect(Target, RgFacture) Is Nothing Then Action = "Facture"
If Not Intersect(Target, RgRéglemt) Is Nothing Then Action = "Règlement"
Select Case Action
Case ""
Exit Sub
Case "Facture"
If IsDate(Target.Value) Then
'Effacer la date prévisionnelle de facturation (-1 : = 1 colonne à gauche)
Target.Offset(0, -1).ClearContents
Else
'Remettre la formule dans la date prévisionnelle de facturation
Target.Offset(0, -1).FormulaR1C1 = "=IF(_t_suivi[[#This Row],[F.Date contrat]]="""","""",_t_suivi[[#This Row],[F.Date contrat]]+R13C9)"
End If
Case "Règlement"
If IsDate(Target.Value) Then
'Effacer la date prévisionnelle de règlement (-2 : = 2 colonnes à gauche)
Target.Offset(0, -2).ClearContents
Else
'Remettre la formule dans la date prévisionnelle de facturation
'Target.Offset(0, -2).formulaR1C1= "...Mettre ici la formule"
End If
End Select
End Sub
merci je le garde quand même de côté sait-on jamaisBonjour à toutes & à tous
Bon j'arrive un peu tard ...
Voici un exemple avec macro, en remettant la formule si la date réelle est effacée avec l'événement Worksheet_Change de la feuil1 :
(Entre nous la version par formule et plus simple mais c'est pour l'exemple ...)
Enrichi (BBcode):Private Sub Worksheet_Change(ByVal Target As Range) Dim RgFacture As Range, RgRéglemt As Range, Action$ Set RgFacture = Me.[_t_suivi[F.Date réelle]] Set RgRéglemt = Me.[_t_suivi[R.Date réelle]] If Target.Count > 1 Then Exit Sub Action = "" If Not Intersect(Target, RgFacture) Is Nothing Then Action = "Facture" If Not Intersect(Target, RgRéglemt) Is Nothing Then Action = "Règlement" Select Case Action Case "" Exit Sub Case "Facture" If IsDate(Target.Value) Then 'Effacer la date prévisionnelle de facturation (-1 : = 1 colonne à gauche) Target.Offset(0, -1).ClearContents Else 'Remettre la formule dans la date prévisionnelle de facturation Target.Offset(0, -1).FormulaR1C1 = "=IF(_t_suivi[[#This Row],[F.Date contrat]]="""","""",_t_suivi[[#This Row],[F.Date contrat]]+R13C9)" End If Case "Règlement" If IsDate(Target.Value) Then 'Effacer la date prévisionnelle de règlement (-2 : = 2 colonnes à gauche) Target.Offset(0, -2).ClearContents Else 'Remettre la formule dans la date prévisionnelle de facturation 'Target.Offset(0, -2).formulaR1C1= "...Mettre ici la formule" End If End Select End Sub
Amicalement
Alain