Macro VBA Help

Fermé
Lamyae.Hac Messages postés 1 Date d'inscription jeudi 24 juillet 2014 Statut Membre Dernière intervention 24 juillet 2014 - Modifié par pijaku le 24/07/2014 à 11:00
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 - 4 août 2014 à 14:13
Bonjour,

Je travaille sur une macro (que je n'ai pas creee) pour pouvoir avec un raccourci CTRL SHIFT W l'appliquer a n'importe quel fichier excel que j'utilise.

Suite a des changements d'emplacement de dossiers, il se trouve que la macro ne fonctionne plus. J'ai alors copie colle le code vba dans un nouveau fichier excel mais lorsque je lance la macro j'ai des erreurs de syntaxe.

Ma deuxieme question est une fois que les erreurs de syntaxe sont corriges, a quel endroit et avec quelle extension le fichier doit etre place pour pouvoir executer la macro dans tous les fichiers excel.

Voici le code VBA :

Attribute VB_Name = "ONCURAData"
Sub ONCURAData()

Attribute ONCURAData.VB_ProcData.VB_Invoke_Func ="W\n14"

' ONCURAData Macro
'
' Keyboard Shortcut: Ctrl+Shift+W
'
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    Columns("H:H").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Columns("G:G").Select
    Selection.TextToColumns Destination:=Range("G1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(19, 1)), TrailingMinusNumbers:=True
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Rows("2:2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("G2:G200") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A2:S200")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Cells.Select
    Selection.Subtotal GroupBy:=7, Function:=xlSum, TotalList:=Array(10, 12) _
        , Replace:=True, PageBreaks:=False, SummaryBelowData:=True
    Range("A1").Select
    ActiveSheet.Outline.ShowLevels RowLevels:=2
    ActiveSheet.Outline.ShowLevels RowLevels:=1
    ActiveSheet.Outline.ShowLevels RowLevels:=2
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    Range("H:I,K:K").Select
    Range("K1").Activate
    Selection.EntireColumn.Hidden = True
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
End Sub



Merci bcp
A voir également:

1 réponse

Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
Modifié par Iama le 4/08/2014 à 14:15
Bonjour

Tu as essayée de faire fonctionner ta macro au pas à pas (touche F8)?
La première ligne et la 3 éme indiquent une erreur de syntaxe.
Mettre un ' devant.

Tu verras aussi quelque ligne inutile

cordialement
0