• Initiateur de la discussion Initiateur de la discussion CB60
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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+
 
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
 
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
 
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


@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
597
Réponses
1
Affichages
345
wDog66
W
Réponses
7
Affichages
593
Retour