macro evenement

CB60

XLDnaute Barbatruc
Bonjour le Forum
Je recherche à mettre une macro évenementielle sur un fichier car j'ai des formules dans des cellules et si je les laisse mes fonctions sommeprod ne fonctionne plus.

Formule normalement dans "B3"

=SI(C3="";"";ENT(MOD(ENT((C3-2)/7)+0,6;52+5/28)))+1
Formule normalement dans "A3"

=SI(C3="";"";MOIS(C3)).

Comment dois je écrire cette macro pour mettre les formules dans les colonnes "A et B " dès que la colonne " C" est valider par une date.

Merci d'avance
Bruno
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Re : macro evenement

Bonjour

1-VBA
tu utilises une macro événementielle type
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And IsDate(Target.Value) Then
'code
end if
end sub

2-formule
utilises une condition type
=si(estna(c3);"";ENT(MOD(ENT((C3-2)/7)+0,6;52+5/28)))+1)

A+
 

CB60

XLDnaute Barbatruc
Re : macro evenement

Bonjour Yeahou,
merci de te pencher sur mon probléme, c'est justement la formulation de ce code que je n'arrive pas à mettre en place.
Je souhaite que lorsquela date de la colonne "C" est renseigné, cette macro me renseigne la colonne "A et B" de la même ligne.
Bruno
 

CB60

XLDnaute Barbatruc
chgt titre: formule en VBA

Bonjour le forum,
je me permet de changer mon titre afin qu'il soit plus évocateur.
j'ai deux formule 1 en colonne "A" et une en colonne "B" qui fonctionné très bien, mais depuis que j'utilise des sommeprod sur mon tableau, je suis obligé de les enlever.
Quelqu'un aurait il la syntaxe à utiliser pour les remplacer. Yeahou m' a donné un début de solution, mais je n'arrive pas à adapter le code.
Formule normalement dans "B3"
=SI(C3="";"";ENT(MOD(ENT((C3-2)/7)+0,6;52+5/28)))+1
Formule normalement dans "A3"
=SI(C3="";"";MOIS(C3)).
Merci
Bruno
 

porcinet82

XLDnaute Barbatruc
Re : macro evenement

Salut CB60, Yeahou,

Comme apparement, Yeahou n'est plus connecté, je te propose un début de solution (du moins ce que j'ai compris), mais ne comprenant pas trop la formule, je ne sais pas trop quoi mettre dans mon If :
If IsEmpty(Range("C3")) = False Then
If 'manque un truc sur le Mod Then
Range("B3").Value = Int((Range("C3").Value - 2 / 7) + 1)
Else

'correspond a la seconde partie de la 1ere formule
Range("B3").Value = Int((52 + 5 / 28) + 1)
End If

'=SI(C3="";"";MOIS(C3))
Range("A3").Value = Month(Range("A3").Value)
End If
End Sub


@+
 

Discussions similaires

Statistiques des forums

Discussions
312 932
Messages
2 093 725
Membres
105 798
dernier inscrit
Sly67