remplacer un terme par un autre dans VBA

0

Bonjour à tous, c'est ma première fois sur ce site et j'espère y trouver ma réponse.


1) j'ai enregistrer une macro sur appelé 31 que j'applique sur le fichier 32. J'aimerais appliquer la même macro sur un autre fichier dit 33 ayant les mêmes caractéristiques. Le problème c'est que dans ma formule quand j'essaye de l'appliquer sur mon fichier 33, il me garde fichier 32. J'aimerais remplacer le terme 32 dans ta toute ma formule par 33 automatiquement, soit par un complément de formule excel ou soit faire de telle sorte que en voulant appliquer ma formule sur le fichier 33, excel reconnaisse directement que c'est un nouveau fichier et change le terme 32 par 33. 

formule en question: 

BridgeOuest_10009_2019 02 VDEF.xlsx=fichier 31

BridgeOuest_10154_2019 02 VDEF.xlsx=fichier 32

Sub Macrobridge()

'

' Macrobridge Macro

'

'

    Windows("BridgeOuest_10009_2019 02 VDEF.xlsx").Activate

    Sheets(Array("ce20196", "ce20197", "ce20198", "ce20199", "ce201910", "ce201911", _

        "ce201912")).Select

    Sheets("ce201912").Activate

    ActiveWindow.ScrollWorkbookTabs Sheets:=-10

    Sheets(Array("ce20193", "ce20194", "ce20195", "ce20196", "ce20197", "ce20198", _

        "ce20199", "ce201910", "ce201911", "ce201912")).Select

    Sheets("ce20193").Activate

    Sheets(Array("ce20193", "ce20194", "ce20195", "ce20196", "ce20197", "ce20198", _

        "ce20199", "ce201910", "ce201911", "ce201912")).Copy Before:=Workbooks( _

        "BridgeOuest_10154_2019 02 VDEF.xlsx").Sheets(3)

    ActiveWindow.SmallScroll Down:=-9

    Sheets(Array("ce20191", "ce20192")).Select

    Sheets("ce20191").Activate

    With ActiveWorkbook.Sheets("ce20191").Tab

        .Color = 5296274

        .TintAndShade = 0

    End With

    With ActiveWorkbook.Sheets("ce20192").Tab

        .Color = 5296274

        .TintAndShade = 0

    End With

    ActiveWindow.ScrollWorkbookTabs Sheets:=8

    Sheets("Cumul").Select

    Windows("BridgeOuest_10009_2019 02 VDEF.xlsx").Activate

    ActiveWindow.ScrollWorkbookTabs Sheets:=1

    ActiveWindow.ScrollWorkbookTabs Sheets:=9

    Sheets("Cumul").Select

    ActiveWindow.SmallScroll Down:=-78

    Selection.Copy

    ActiveWindow.SmallScroll Down:=-6

    Windows("BridgeOuest_10154_2019 02 VDEF.xlsx").Activate

    Range("F65").Select

    ActiveWindow.SmallScroll Down:=-66

    Range("F3").Select

    ActiveSheet.Paste

    Sheets("paramètres").Select

    Windows("BridgeOuest_10009_2019 02 VDEF.xlsx").Activate

    Sheets("paramètres").Select

    Application.CutCopyMode = False

    Selection.Copy

    Windows("BridgeOuest_10154_2019 02 VDEF.xlsx").Activate

    Range("E2").Select

    ActiveSheet.Paste

    Sheets("Cumul").Select

    ActiveWindow.SmallScroll Down:=-6

    Range("F4").Select

    Application.CutCopyMode = False

    ActiveCell.FormulaR1C1 = _

        "='[BridgeOuest_10009_2019 02 VDEF.xlsx]1'!RC+'[BridgeOuest_10009_2019 02 VDEF.xlsx]2'!RC+'[BridgeOuest_10009_2019 02 VDEF.xlsx]3'!RC+'[BridgeOuest_10009_2019 02 VDEF.xlsx]4'!RC+'[BridgeOuest_10009_2019 02 VDEF.xlsx]5'!RC+'[BridgeOuest_10009_2019 02 VDEF.xlsx]6'!RC+'[BridgeOuest_10009_2019 02 VDEF.xlsx]7'!RC+'[BridgeOuest_10009_2019 02 VDEF.xlsx]8'!RC+'[BridgeOuest_1" & _

        "0009_2019 02 VDEF.xlsx]9'!RC+'[BridgeOuest_10009_2019 02 VDEF.xlsx]10'!RC+'[BridgeOuest_10009_2019 02 VDEF.xlsx]11'!RC+'[BridgeOuest_10009_2019 02 VDEF.xlsx]12'!RC" & _

        ""

    Cells.Replace What:="[BridgeOuest_10009_2019 02 VDEF.xlsx]", Replacement:= _

        "", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _

        SearchFormat:=False, ReplaceFormat:=False

    Range("G6").Select

    ActiveWindow.SmallScroll Down:=57

    Sheets("Cumul").Select

    ActiveWorkbook.Save

    ActiveWindow.SmallScroll Down:=-21

    ActiveWorkbook.Save

    ActiveWindow.SmallScroll Down:=-30

End Sub


question 2:

Considérons la table suivante ( sur fichier excel)

Le but serai de créer une formule ou macro automatiser qui dit que si coudirect3 est compris entre l'intervalle coudirect 1 et coudirect 7, la cellule (bleu) affiche la somme de B11 jusqu'à F11 qui dans notre cas donnerait 15 et si coudirect 3 est après coudirect 7 , alors la cellule verte affiche la somme B16+C16+...+F16=40.( voir Feuille 1). Dans tous les cas, la cellule doit afficher la somme des valeurs comprise dans la plage en face de la cellule coudirect 3 et sur la même ligne. Le problème est que les cellules coudirect 1, coudirect 3 et coudirect 7 se déplace mais toujours dans la même colonne (A). C'est à dire qu'elles ont un mouvement vertical vers le haut ou vers le bas mais jamais de façon horizontal d'un fichier à un autre. Chaque fichier comprends le même nombre de colonne mais jamais de ligne et jamais les positons des coudirects.( voir feuille 2). Sachant que coudirect 3 sera toujours compris entre coudirect 1 et 7 et ou entre coudirect 7 et que coudirect 12, il me faut une formule ou une macro qui me permettra, peu importe le tableau et son nombre de ligne et la position de coudirect 1, coudirect 3 et 7,  de calculer la somme de la plage en face et sur la même ligne que  coudirect 3 et l'attribuer dans les cellules vertes ou bleue. En gros la macro doit reconnaitre automatiquement la valeur " coudirect 1 et 7, et se dire si coudirecte3 compris entre 1 et 7 je prend la somme de la plage en face et si il est après coudirect 7 je fais de même et je l'attribue dans les cellules vertes ou bleues.

lien fichier: https://www.cjoint.com/c/ICmj6dmCGQP


Merci d'avance!

    Posté le 12 mars 2019, 10:59
    par thomas
    Répondre

    Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
    Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :