Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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+
 

MURET31

XLDnaute Nouveau
Bonjour Job75

Je vous remercie pour votre retour.
Je suis novice en VBA alors si vous avez une idée de comment l'intégrer dans une worksheet_Change, je suis preneur

Par avance merci

Bien cordialement

MU
 

Staple1600

XLDnaute Barbatruc
Bonjour Muret31, job75

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

MURET31

XLDnaute Nouveau
Bonjour Staple1600,

Je te remercie pour ton retour.

En effet c'est ce que je suis en train de faire depuis que j'ai eu le retour de Job75, mais pas évident pour un débutant.

Merci tout de même.

Bien cordialement,

MU
 

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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…