Si(ou(nb.si VBA

MURET31

XLDnaute Nouveau
Bonjour le Forum,

Ayant trouvé une solution rapidement hier soir grâce à ce forum, je me permets de poster une nouvelle demande au sujet d'une autre formule que j'aimerais passer sous VBA:

J'aimerais la passer sous VBA avec une macro événementielle: Private Sub Worksheet_Change(ByVal Target As Range)
Mon objectif étant de pouvoir écrire dans la cellule contenant la formule sans l'écraser.

L86=SI(OU(NB.SI(H86;"*toto*");NB.SI(H86;"*tata*"));N86+200;SI(OU(NB.SI(H86;"*titi*");NB.SI(H86;"*tete*"));N86+400;""))

Par avance merci pour votre aide.

Bien cordialement,

MU
 

job75

XLDnaute Barbatruc
Bonjour MURET31,

Aucune difficulté une fois qu'on sait ce qu'il faut faire :
VB:
[L86] = "=IF(OR(COUNTIF(H86,""*toto*""),COUNTIF(H86,""*tata*"")),N86+200,IF(OR(COUNTIF(H86,""*titi*""),COUNTIF(H86,""*tete*"")),N86+400,""""))"
Bien sûr dans une Worksheet_Change il faut prendre des précautions.

Utiliser au besoin les Application.EnableEvents.

A+
 

Staple1600

XLDnaute Barbatruc
Bonjour Muret31, job75

Muret31
Pourquoi pas en s'inspirant de ce qui te fut expliqué dans ton autre fil...?
 

job75

XLDnaute Barbatruc
Je suis novice en VBA alors si vous avez une idée de comment l'intégrer dans une worksheet_Change, je suis preneur :)
Cela n'interdit pas de réfléchir 5 secondes :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
[L86] = "=IF(OR(COUNTIF(H86,""*toto*""),COUNTIF(H86,""*tata*"")),N86+200,IF(OR(COUNTIF(H86,""*titi*""),COUNTIF(H86,""*tete*"")),N86+400,""""))"
Application.EnableEvents = True
End Sub
 

Discussions similaires

Réponses
8
Affichages
2 K
Réponses
1
Affichages
2 K
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16