Convertire formule en vba

  • Initiateur de la discussion Initiateur de la discussion Ilino
  • 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 !

Ilino

XLDnaute Barbatruc
Bonjour Forum
je cherche a convertir ce code en VBA

Code:
=CONCATENER("Activitées de la semaine N° ";ENT((K1-SOMME(MOD(DATE(ANNEE(K1-MOD(K1-2;7)+3);1;2);{1E+99;7})*{1;-1})+5)/7);" de l'année ";ANNEE(K1))
nota: dans la cellule K1: la formule AUJOURDHUI()
MERCI PAR AVANCE
 
Re : Convertire formule en vba

Re

Sinon, testé sur Xl2010, oK. Après, peut-être un problème de version 😕.

Code:
Sub test()
With Cells(1, 11): .Value = Date: .Font.ColorIndex = 2: End With  'si tu ne veux pas voir la date du jour
'formule = "=CONCATENER(""Hebdomadaire N° "" &"" ""& ENT(MOD(ENT((K1-2)/7)+0.6;52+5/28))+1) &"" Année: ""& ANNEE(K1)"
Cells(5, 1).FormulaR1C1 = _
        "=CONCATENATE(""Activitées de la semaine N° "",INT((R1C11-SUM(MOD(DATE(YEAR(R1C11-MOD(R1C11-2,7)+3),1,2),{1E+99;7})*{1;-1})+5)/7),"" de l'année "",YEAR(R1C11))"
End Sub
 
Re : Convertire formule en vba

Re

Qu'entends-tu par masquer la formule ?
Si tu veux n'avoir que le resultat je ne crois pas que ce soit possible
Si par contre tu veux que le resultat soit figé (et non plus dependant d'AUJOURDHUI ) c'est possible
Enfin par quoi doit etre lancée la macro ????
 
Re : Convertire formule en vba

Bonsoir à tous,

@Ilino: tout en VBA.


Code:
Sub test2()
Dim numsem As Long
dte = Format(Date, "yyyy")
numsem = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
dt = Int((d1 - numsem + Weekday(numsem) + 5) / 7)  - 1
Range("a1").Value = "Activitées de la semaine N° " & dt & "  de l' année  " & dte
End Sub

Très bonne soirée 😎
 
Dernière édition:
Re : Convertire formule en vba

Bonsoir à tous,

@Ilino: tout en VBA.


Code:
Sub test2()
Dim numsem As Long
dte = Format(Date, "yyyy")
numsem = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
dt = Int((d1 - numsem + Weekday(numsem) + 5) / 7)  - 1
Range("a1").Value = "Activitées de la semaine N° " & dt & "  de l' année  " & dte
End Sub

Très bonne soirée 😎
Re sorry pour le retard..
apres avoir executer le Macro ...un message affiché " variable non definé " je pense "dte"?
 
Re : Convertire formule en vba

Re Bonsoir
@ lone-wolf : ca fonctionne mnt mais si je sup le texte dans la cellule A1 je suis obligé de relancer le Macro?
et j'ai constaté que le num de la semaine ne fonctionne pas
 
Dernière édition:
Re : Convertire formule en vba

RE BONSOIR LONE WOLF
oui bien sure ...mais est ce que il y a une possibilité de la mettre automatique ( a la limite au demmarge du fichier par exemple )

eDIT :
Code:
Private Sub Workbook_Open()
Dim numsem As Long
dte = Format(Date, "yyyy")
numsem = DateSerial(Year(d1 - Weekday(d1 - 1) + 4), 1, 3)
dt = Int((d1 - numsem + Weekday(numsem) + 5) / 7) - 1
Range("A3").Value = "Activitées de la semaine N° " & dt & "  de l' année  " & dte
End Sub
ça fonctionne au démarge mais il reste tj la mise ajour du Num de la semaine ???
 
Dernière édition:
Re : Convertire formule en vba

Ilino,

on ne peux pas changer du numéro de semaine comme ça. Celui-ci se met à jour pour chaque nouvelle semaine. Maintenant, si tu veux qu'il y aie un incrémentation (51 - 52 - 53 etc.), il faut s'y prendre autrement.


A+ 😎
 
Re : Convertire formule en vba

Re Ilino,

fait un essai avec cette macro.

Code:
Sub test()
Dim Madate, num&, dte
Madate = #12/17/2012# 
dte = Format(Date, "yyyy")
num = 51
If Date > Madate Then
num = num + 1
End If
Range("A3").Value = "Activitées de la semaine N° " & num & "  de l' année  " & dte
End Sub



A+ 😎
 
Dernière édition:
Re : Convertire formule en vba

Bonjour Ilino,

une autre façon de faire

Code:
Private Sub Workbook_Open()
Dim dte, num As Integer
dte = Format(Date, "yyyy")
Range("z1").Value = Range("z1").Value + 1
Range("a3").Value = "Activitées de la semaine N° " & _
Range("z1").Value & "  de l' année  " & dte
End Sub


A+ 😎
 
- 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
6
Affichages
230
Réponses
3
Affichages
648
Réponses
4
Affichages
367
Réponses
12
Affichages
1 K
Réponses
1
Affichages
583
Retour