VBA Enchainer des périodes
Bonjour
Je voudrais en VBA, enchainer des périodes à partir d'une date de début DD = date de début 06/08/2007
un dessin vaut mieux qu'un long discourt... à voir en fin de message
PS : actuellement les colonnes H et K sont remplies par VBA donc ça commence à être lourd...
With sH_2
derLigne = .Range("A" & Rows.Count).End(xlUp).Row 'détermination des dates Reval
DE = .Cells(1, 5) 'E1
DAd = .Cells(2, 5) 'E2
.Cells(2, 7) = "M1" 'G2
.Cells(2, 8) = DateAdd("m", 6, DAd) 'H2
.Cells(2, 11).FormulaR1C1 = "=EOMONTH(RC[-3],0)" 'K2 Fin de mois
.Cells(3, 7) = "M2" 'G3
.Cells(3, 8) = DateAdd("m", 18, DAd) 'H3
.Cells(3, 11).FormulaR1C1 = "=EOMONTH(RC[-3],0)" 'K3 Fin de mois
Peut-on supprimer la colonne fin de mois ou au contraire dois-je ajouter une nouvelle colonne '1er Jr du mois qui suit' et écrire
M2 = "Du " & &.Range("H2").Value & " au " & .Range("K2").Value
M3 = "Du" & .Range("L2").Value & " au " & sH_2.Range("K3").Value
M3 = "Du" & .Range("L3").Value & " au " & sH_2.Range("K4").Value
et ainsi de suite ?
Merci d'avance pour votre aide et vos conseils (Je suis très débutante en VBA, tout conseil même en général est bon à prendre)...
Bonjour
mouftie a écrit :un dessin vaut mieux qu'un long discourt...
FAUX : un fichier vaut mieux qu'un long discours
Amicalement
Nad
Bonjour Nad,
La dernière fois j'ai envoyé le fichier, je n'ai pas eu de réponse jusqu'à ce que j'envoie la copie d'écran...
Le tout c'est de ce faire comprendre
Ci_joint, comme demandé un fichier
merci de ton aide
Bonsoir,
C-joint mise à jour du fichier initial avec les dates de début et de fin pour les majorations.
Cdlt.
Bonsoir Jean-Eric,
Merci pour ta réponse ;
Il y a un pb dans le calcul des dateDif, car tu pars toujours de la date d'effet, or il faut d'abord trier le tableau par date et ensuite appliquer la formule dateDif entre chaque date à partir de DE jusqu'à Forclusion (y compris forclusion). j'ai mis en mauve le résultat des intervalles que j'attends.
il y a aussi qq ch que je ne comprends pas dans ton code
'Calcul des intervalles Feuille 'Masquée'
' Remise à 1 du compteur
j = 1
derLigne = .Range("G" & Rows.Count).End(xlUp).Row - 2 'détermine la dernière ligne du tableau
For i = 3 To derLigne Step 1 'boucle de la ligne 3 à la dernière ligne avec un pas de 1
.Cells(1 + j, 6) = j ' Numérotation de l'index à partir de F2
.Cells(1 + j, 9) = DateDiff("m", DE, Cells(1 + j, 8)) 'I2 = DtDif entre DE et H2
j = j + 1 'I3 = DtDif entre DE et H3 etc...
Next i
End With
quand je le reprends pour le mettre dans mon fichier la boucle s'arrête 3 lignes avant la fin du tableau ; pourquoi ne commences-tu pas par For i = 1 ?
Ensuite, l'objet de ce post c’était pour savoir s'il était possible d'insérer des formules dans une phrase ou si je dois absolument passer par "poser" mes formules avant de faire ma phrase
par ex en partant des périodes que tu as écrites avec les majorations, la phrase serait :
A21 = "du " & .range("F7").value & " au " & .range("G7") & "suite du blabla"
ou s'il est possible d'écrire quelque chose comme
A21 = "du " & formule_du_1er_jr_qui_suit_C7 & " au " & formule_du_dernier_jr_qui_suit_G7) & "suite du blabla"
je débute en VBA, je demande peut-être qq chose d'idiot...
en tout cas merci encore pour tes réponses
Re,
1/ Au sujet de la boucle, que tu ne comprenais pas, c'est normal.
En insérant la date DaD, j'ai décalé celle-ci. C'est corrigé
2/ J'ai modifié le calcul des intervalles et c'est Okay. Par contre ton calcul est érroné. La somme des mois donne 44 mois pour la période DE/Forclusion (au lieu 48 mois).
3/ Au sujet de ton blaba, tu fais comme tu veux. Tu as maintenant les éléments en ta possession pour le faire. Cependant, tu travailles avec un tableur. Privilégies les calculs avant de te formaliser avec un semblant de synthèse qui n'en sera pas une. Tu dois maintenant penser à intégrer des montants (EUR), calculer les majorations et les revalorisations. Me trompe je?
nb : évites d'écrire quoique se soit sous le tableau de données.
Cordialement
Bonjour Jean-Eric,
pardonne-moi de ne pas avoir répondu j'ai été malade (tant que c'est pas une allergie a VBA...)
merci beaucoup pour tes suggestions et remarques (me rappeler mes objectifs principaux...Jean-Eric a écrit :nb : évites d'écrire quoique se soit sous le tableau de données
j'ai encore de la fièvre et j'ai beaucoup de mal à me concentrer avec toutes ces dates...
Merci vraiment, tu m'as beaucoup aidé.