XL 2019 Remplacer .Value < par une formule de calcul

Dravol

XLDnaute Junior
Bonjour à tous,

J'aimerai remplacer .value < 35 par une formule de type .formula = "i10*0.7"
sachant que ma cellule i10 est fusionnée avec i11
et répéter cette opération de la cellule D19 à D48

If Target.Address = Range("d19").Address And Range("d19").Value < 35 Then

à votre écoute^^
 
Solution
@Dravol

Voici le code VBA sans effacement de la valeur erronée (hors tolérance) :
VB:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  With Target
    If .CountLarge > 1 Then Exit Sub
    If .Column <> 4 Then Exit Sub
    Dim lig&: lig = .Row
    If lig < 19 Or lig > 48 Then Exit Sub
    If lig = 23 Or lig = 44 Then Exit Sub
    If .Value >= Round([I10] * 0.7, 0) Then Exit Sub
    Dim i As Byte
    For i = 1 To 3 'Loop 3 times.
      Beep
      'PlaySound ThisWorkbook.Path & "\0257", 0, 1
    Next i
    MsgBox "Attention valeur hors tolérance"
  End With
End Sub
et voici le code VBA avec effacement de la valeur hors tolérance :
Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)...

soan

XLDnaute Barbatruc
Inactif
Bonsoir @Dravol,

Merci pour ta réponse, et je suis bien content que mon code VBA te convienne ! :)

Pour les Beep, essaye avec cette partie de code (à la place de l'ancienne) :
VB:
    Dim i%
    For i = 1 To 30000
      Beep
      'PlaySound ThisWorkbook.Path & "\0257", 0, 1
    Next i
Regarde aussi cette image :

Image.jpg


Tu as écrit : « je reste impressionné par vos facilités en VBA »

En fait, il y a aussi beaucoup de choses que je ne sais pas faire, et certains intervenants du
forum sont bien meilleurs que moi ; alors ce n'est pas la peine que tu sois jaloux. ;)

De plus, chacun apprend au fur et à mesure, et au tout début, je ne connaissais rien du
tout : je suis parti de zéro, comme tous ceux qui commencent à programmer.


soan
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 897
Membres
101 833
dernier inscrit
sandra25