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. 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
  2. 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
  3. 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. 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