Macro VBA

Résolu
Bonjour,

Dans un fichier excel j'ai à la ligne 5 de la feuille Score CG des dates et je veux afficher dans ma nouvelle feuille dans la colonne A date(qui à en AU5 de la feuille Scor CG)-date(qui à en DB5 de la feuille Score CG)
exemple en AU5 de la feuille Score CG ya 01/2000 et 12/2004 en DB5, je veux que la macro m'affiche: 01/2000-12/2004, en A20, A22, A24....

Sub NonTimeSeries()

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

LastLine = Range("ScoreCG!A65536").End(xlUp).Row

imax = (2 * LastLine) - 19

'imax = t - 40
'imax = 1218
'Const jmax = 40

Dim lig As Long
Dim f1 As String, f2 As String, f3 As String, f4 As String, f5 As String, f6 As String, _
f7 As String, f8 As String, f9 As String, f10 As String

lig = 20
For i = 20 To imax Step 2

f1 = "=product('Coef Mul Titre Large Ret1m'!$DC$" & lig & ":$FJ$" & lig & ")-1"
f2 = "=ScoreCG!$DB$" & lig
f3 = "=ScoreCG!$F$" & lig
f4 = "=ScoreCG!$H$" & lig
f5 = "=Identity!$DB$" & lig

f6 = "=product('Coef Mul Titre Large Ret1m'!$AU$" & lig & ":$DC$" & lig & ")-1"
f7 = "=ScoreCG!$AT$" & lig
f8 = "=Identity!$AT$" & lig
f10 = "=ScoreCG!$AU$-ScoreCG!$AU$" & 5

Range("A" & i).Formula = f10
Range("B" & i).Formula = f1
Range("C" & i).Formula = f2
Range("D" & i).Formula = f3
Range("E" & i).Formula = f4
Range("F" & i).Formula = f5

Range("B" & (i + 1)).Formula = f6
Range("C" & (i + 1)).Formula = f7
Range("D" & (i + 1)).Formula = f3
Range("E" & (i + 1)).Formula = f4
Range("F" & (i + 1)).Formula = f8

lig = lig + 1

Next i

Application.Calculation = xlCalculationAutomatic

End Sub

Mais ca marche pas avec cette macro je comprends pas???

Merci pour votre aide

4 réponses

  1. bonjour

    si je comprends, tu n'as qu'un pb qu'avec la formule f10

    f10 = "=ScoreCG!$AU$-ScoreCG!$AU$" & 5

    RQ1. il manque un numéro de ligne après le 1° $AU$
    RQ2. que vient faire le & 5 a la fin?
    RQ2. "=ScoreCG!$AU$-ScoreCG!$AU$" est une difference de deux machins egaux!

    bonne suite
    1. Oui j'ai qu'un problème à la ligne f10, tout le reste est bon

      le 5 à la fin c parce que les dates sont à la ligne 5 de la feuille Score CG:
      la formule f10 je veux qu'elle m'affiche le formmat date(qui a en AU5)-date(qui a en DB5) avec un tiret ou: ou peu importe du style 01/2005:12/2009

      RQ2. "=ScoreCG!$AU$-ScoreCG!$AU$" est une difference de deux machins egaux! , pour cette formule jme sui trompé jvoulais écrire:

      "=ScoreCG!$AU$-ScoreCG!$DB$"
      1. RQ1. il manque un numéro de ligne après le 1° $AU$

        pour cette remarque tu voulais dire que cette formule est plus correcte:

        f10 = "=ScoreCG!$AU$5:ScoreCG!$DB$5":

        avec ca, sur ma feuille excel ca me met un message d'erreur
        1. re

          je crois qu'il ne s'agit plus d'une formule mais d'une valeur constante en plus
          si c'est bien le cas

          f10 =sheets("ScoreCG").Range("$AU$5") & "-" & sheets("ScoreCG").Range("$DB$5")

          et
          Range("A" & i).Formula = f10
          devient
          Range("A" & i).Value = f10

          bonne suite
      2. C exactement ce que je voulais
        Merci
        1. re

          si tu es toujours là,
          je pense qu'on pouvait aussi garder f10 comme formule avec (tout betement)

          f10 = "=ScoreCG!$AU$5" & " - " & "ScoreCG!$DB$5"

          bonne suite