Rapport de message :*
 

Re: Probleme réalisation macro avec enregistreur de macro ...

Titre du sujet : Re: Probleme réalisation macro avec enregistreur de macro ...
par Eric.33 le 15/01/2013 20:07:17

 Bonsoir le Forum, 
Apres avoir plenché sur mes macros et avec l(aide de la macro de Mth, que je remercie au passage, voici ce que je suis arrivé a faire. J'ai regroupé toutes les macros en une. Pour certaine je ne suis pas arrivé a les retravailler, serait il possible de les simplifiier ou tout du moins de les ecrire plus simplement afin de faciliter la relecture.
Voici donc le code:
Par avance merci de vos réponses. 

Sub Action()
'Déclaration des Variables
Dim i As Long ' Variable pour la boucle fournie par Mth site: http://www.mdf-xlpages.com/

For i = 1 To ThisWorkbook.Sheets.Count 'boucle fournie par Mth site: http://www.mdf-xlpages.com/
'Sheets.count renvoie le nombre d'onglets du classeur.
  If Sheets(i).Name <> "Recap" Then
    'Sheets(i).Name indique le nom de la feuille en cours
    'Si le nom de l'onglet est différent de "Recap" alors.. exécuter telle action
        'Action
  Worksheets(i).Activate
' Integre la formule dans la plage D14:D40 pour pouvoir différencier les cellules
' ou on retrouve Sans Tva ...par 1Sans Tva ...
Range("D14").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(OR(RC[-3]=""Sans Tva"",RC[-3]=""Tva à 19.6%"",RC[-3]=""Tva à 5.5%"",RC[-3]=""Tva à 7%"",RC[-3]=""Totaux""),""1""&RC[-3],"""")"
    Range("D14").Select
    Selection.AutoFill Destination:=Range("D14:D29"), Type:=xlFillDefault
    Range("D14:D29").Select
' Va chercher le tableau avec formule dans un autre classeur et colle le dit
'tableau dans toutes les feuilles du classeur a la meme place
Workbooks("EssaiMagKSStestfaux chiffres.xls").Sheets("BDD02").Range("A1120:D1147").Copy _
    Destination:=ActiveWorkbook.ActiveSheet.Range("A70")
   End If
     
Next i 'boucle fournie par Mth site: http://www.mdf-xlpages.com/

    Sheets("Sheet1").Select
    Range("A70").Select
'Création de la feuille Recap
Sheets.Add before:=Sheets(1)
ActiveSheet.Name = "Recap"
'Copie du tableau dans la feuille Recap
Sheets("Sheet1").Range("A70:A97").Copy
    Sheets("Recap").Range("A4").Select
    ActiveSheet.Paste
'(Elaborée en cherchant avec comme base la boucle de Mth)Nomme l'intitulé des colonnes
'par le noms de chaque onglet
For i = 2 To Sheets.Count
Range("IV3").End(xlToLeft).Offset(0, 1) = Sheets(i).Name
Next i
'(A l'aide de l'enregistreur de macro)Copie des formules dans tout le tableau afin de
'pouvoir recupérer les données dans chaque feuille. Une fois terminé, recopie le
'tableau fini et ne colle au meme endroit que les valeurs
Range("B4").Select
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-1],INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4").Select
    Selection.AutoFill Destination:=Range("B4:B31"), Type:=xlFillDefault
    Range("B4:B31").Select
    ActiveWindow.SmallScroll Down:=-18
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R4C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B5").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R5C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B6").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R6C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B7").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R7C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B8").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R8C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B9").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R9C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B10").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R10C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B11").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R11C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B12").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R12C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B13").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R13C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B14").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R14C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B15").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R15C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B16").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R16C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B17").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R17C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B18").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R18C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B19").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R19C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B20").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R20C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B21").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R21C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B22").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R22C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B23").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R23C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B24").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R24C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B25").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R25C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B26").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R26C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B27").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R27C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B28").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R28C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B29").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R29C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B30").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R30C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    Range("B31").Activate
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(R31C1,INDIRECT(R3C&""!$a$70:$c$97""),3,FALSE)"
    Range("B4:B31").Select
    ActiveWindow.SmallScroll Down:=0
    Selection.AutoFill Destination:=Range("B4:AF31"), Type:=xlFillDefault
    Range("B4:AF31").Select
    ActiveWindow.ScrollColumn = 25
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 1
    ActiveWindow.DisplayZeros = False
    Range("A4:AF31").Select
    Selection.Copy
    ActiveWindow.SmallScroll Down:=24
    Range("B35").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Application.CutCopyMode = False
    Selection.Copy
    Range("B35").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
'(A l'aide de l'enregistreur de macro) fait la somme des lignes et des colonnes de
'chaque tableau afin de controler que tout correspond et mise en forme
Range("B33").Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-29]C:R[-1]C)"
    Range("B33").Select
    Selection.AutoFill Destination:=Range("B33:AF33"), Type:=xlFillDefault
    Range("B33:AF33").Select
    Selection.Font.Bold = True
    Selection.NumberFormat = "#,##0.00_ ;[Red]-#,##0.00 "
    ActiveWindow.SmallScroll ToRight:=25
    Range("AG33").Select
    ActiveCell.FormulaR1C1 = "=SUM(RC[-31]:RC[-1])"
    Range("AF33").Select
    Selection.Copy
    Range("AG33").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("AG31").Select
    ActiveCell.FormulaR1C1 = "=SUM(RC[-31]:RC[-1])"
    Range("AG33").Select
    Selection.Copy
    Range("AG31").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("AG4:AG31"), Type:=xlFillDefault
    Range("AG4:AG31").Select
    ActiveWindow.SmallScroll Down:=18
    Range("AH33").Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-29]C[-1]:R[-2]C[-1])"
    Range("AH34").Select
    ActiveWindow.SmallScroll Down:=12
    Range("AG33").Select
    Selection.Copy
    Range("AH33").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("AG34").Select
    ActiveCell.FormulaR1C1 = "=R[-1]C[1]-R[-1]C"
    Range("AD36").Select
    ActiveCell.FormulaR1C1 = "=SUM(RC[-28]:RC[-1])"
    Range("AG33").Select
    Selection.Copy
    Range("AD36").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Selection.AutoFill Destination:=Range("AD36:AD66"), Type:=xlFillDefault
    Range("AD36:AD66").Select
    Range("AE68").Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-32]C[-1]:R[-2]C[-1])"
    Range("AE69").Select
    ActiveWindow.SmallScroll Down:=12
    Range("AD66").Select
    Selection.Copy
    Range("B68:AE68").Select
    Range("AE68").Activate
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("AE68").Select
    Range("AC68").Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-32]C:R[-1]C)"
    Range("AC68").Select
    Selection.AutoFill Destination:=Range("B68:AC68"), Type:=xlFillDefault
    Range("B68:AC68").Select
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 20
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 20
    Range("AD68").Select
    ActiveCell.FormulaR1C1 = "=SUM(RC[-28]:RC[-1])"
    Range("AD69").Select
    ActiveWindow.SmallScroll Down:=12
    ActiveCell.FormulaR1C1 = "=R[-1]C[1]-R[-1]C"
    Range("AD70").Select
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Range("A69").Select
    With Selection.Interior
        .ColorIndex = 3
        .Pattern = xlSolid
    End With
    Selection.Font.ColorIndex = 2
    ActiveCell.FormulaR1C1 = "=RC[29]-R[-35]C[32]"
    Range("A70").Select
    ActiveWindow.SmallScroll Down:=3
'A l'aide de l'enregistreur de macro
Range("A4").Select
    Selection.Copy
    ActiveWindow.SmallScroll Down:=9
    Range("B35").Select
    ActiveSheet.Paste
'A l'aide de l'enregistreur de macro integre les dates dans le tableau
Range("A36").Select
    ActiveCell.FormulaR1C1 = _
        "=TEXT(VALUE(RIGHT(Sheet1!R[-28]C,LEN(Sheet1!R[-28]C)-SEARCH("" du"",Sheet1!R[-28]C)-3)),""jj/mm/aaaa"")"
    Range("A37").Select
    ActiveCell.FormulaR1C1 = "=R[-1]C+1"
    Range("A37").Select
    Selection.AutoFill Destination:=Range("A37:A66"), Type:=xlFillDefault
    Range("A37:A66").Select
    Selection.NumberFormat = "m/d/yyyy"
    With Selection
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
End Sub