Apps Script vers macro Excel

Bonjour à tous,

J'ai un soucis je dois rebasculer bon nombre de mes fichiers automatisés et je ne sais plus du tout comment manipuler les macros sous Excel. Y a t'il un convertisseur pour faire le passage de sheet vers Excel ? Je trouve des infos pour aller de Excel vers Sheet mais pas dans le sens inverse.

J'ai par exemple ce script, est ce que quelqu'un sait comment le retranscrire sur Excel ?

function DRT() {
var app = SpreadsheetApp;
var infos = app.getActiveSpreadsheet().getSheetByName("Informations");
var sommaire = app.getActiveSpreadsheet().getSheetByName("Sommaire");
var PdG_EDP = app.getActiveSpreadsheet().getSheetByName("3. Page de garde EDP");
var EDP = app.getActiveSpreadsheet().getSheetByName("3. EDP ");
var DRT = app.getActiveSpreadsheet().getSheetByName("III. DRT");
var DMP = app.getActiveSpreadsheet().getSheetByName("7. PV DMP-MTI");
var PdG_DMP = app.getActiveSpreadsheet().getSheetByName("7. Page de garde PV DMP-MTI");
var DRT = app.getActiveSpreadsheet().getSheetByName("III. DRT");
var PdG_AIP = app.getActiveSpreadsheet().getSheetByName("5. Page de garde AIP");
var AIP = app.getActiveSpreadsheet().getSheetByName("5. AIP");
var LDA = app.getActiveSpreadsheet().getSheetByName("1.LDA");
var FME = app.getActiveSpreadsheet().getSheetByName("8. PV FME");
var PdG_FME = app.getActiveSpreadsheet().getSheetByName("8. Page de garde PV FME");
var ANN_TEC = app.getActiveSpreadsheet().getSheetByName("IV. Annexe Technique");
var PLA = app.getActiveSpreadsheet().getSheetByName("4.1. Plan");
var List_PLA = app.getActiveSpreadsheet().getSheetByName("4.1. Liste plan");
var FT = app.getActiveSpreadsheet().getSheetByName("4.2. FT");
var List_FT = app.getActiveSpreadsheet().getSheetByName("4.2. Liste FT");
var PLG = app.getActiveSpreadsheet().getSheetByName("4.3. Planning");
var List_PLG = app.getActiveSpreadsheet().getSheetByName("4.3. Liste Planning");
var DAF = app.getActiveSpreadsheet().getSheetByName("4.4. DAF");
var List_DAF = app.getActiveSpreadsheet().getSheetByName("4.4. Liste DAF");

var check1 = infos.getRange(21,4).getValue();

if (check1 == "0"){
sommaire.hideRows(18,1)
LDA.hideRows(28,2)
DRT.hideRows(15,2)
PdG_EDP.hideSheet()
EDP.hideSheet()
}

if (check1 == "1"){
PdG_EDP.showSheet()
EDP.showSheet()
DRT.showRows(15,2)
LDA.showRows(28,2)
sommaire.showRows(18,1)
}

var check2 = infos.getRange(23,4).getValue();

if (check2 == "0"){
sommaire.hideRows(22,1)
LDA.hideRows(32,2)
DRT.hideRows(23,2)
PdG_DMP.hideSheet()
DMP.hideSheet()
}

if (check2 == "1"){
PdG_DMP.showSheet()
DMP.showSheet()
DRT.showRows(23,2)
LDA.showRows(32,2)
sommaire.showRows(22,1)
}

var check3 = infos.getRange(22,4).getValue();

if (check3 == "0"){
sommaire.hideRows(20,1)
LDA.hideRows(54,2)
DRT.hideRows(19,2)
PdG_AIP.hideSheet()
AIP.hideSheet()
}

if (check3 == "1"){
PdG_AIP.showSheet()
AIP.showSheet()
DRT.showRows(19,2)
LDA.showRows(54,2)
sommaire.showRows(20,1)
}

var check4 = infos.getRange(24,4).getValue();

if (check4 == "0"){
sommaire.hideRows(23,1)
LDA.hideRows(56,2)
DRT.hideRows(25,2)
PdG_FME.hideSheet()
FME.hideSheet()
}

if (check4 == "1"){
PdG_FME.showSheet()
FME.showSheet()
DRT.showRows(25,2)
LDA.showRows(56,2)
sommaire.showRows(23,1)
}

var check5 = infos.getRange(20,9).getValue();

if (check5 == "0"){
sommaire.hideRows(25,7)
LDA.hideRows(58,6)
ANN_TEC.hideSheet()
PLA.hideSheet()
List_PLA.hideSheet()
FT.hideSheet()
List_FT.hideSheet()
PLG.hideSheet()
List_PLG.hideSheet()
DAF.hideSheet()
List_DAF.hideSheet()
}

if (check5 > 0){
sommaire.showRows(25,7)
LDA.showRows(58,6)
ANN_TEC.showSheet()
PLA.showSheet()
List_PLA.showSheet()
FT.showSheet()
List_FT.showSheet()
PLG.showSheet()
List_PLG.showSheet()
DAF.showSheet()
List_DAF.showSheet()
}

var check6 = infos.getRange(21,8).getValue();

if (check6 == "0"){
sommaire.hideRows(27,1)
LDA.hideRows(58,2)
ANN_TEC.hideRows(11,2)
PLA.hideSheet()
List_PLA.hideSheet()
}

if (check6 == "1"){
PLA.showSheet()
List_PLA.hideSheet()
ANN_TEC.showRows(11,2)
LDA.showRows(58,2)
sommaire.showRows(27,1)
}

if (check6 == "2"){
PLA.showSheet()
List_PLA.showSheet()
ANN_TEC.showRows(11,2)
LDA.showRows(58,2)
sommaire.showRows(27,1)
}

var check7 = infos.getRange(22,8).getValue();

if (check7 == "0"){
sommaire.hideRows(28,1)
ANN_TEC.hideRows(13,2)
LDA.hideRows(60,2)
FT.hideSheet()
List_FT.hideSheet()
}

if (check7 == "1"){
FT.showSheet()
List_FT.hideSheet()
ANN_TEC.showRows(13,2)
LDA.showRows(60,2)
sommaire.showRows(28,1)
}

if (check7 == "2"){
FT.showSheet()
List_FT.showSheet()
ANN_TEC.showRows(13,2)
LDA.showRows(60,2)
sommaire.showRows(28,1)
}

var check8 = infos.getRange(23,8).getValue();

if (check8 == "0"){
sommaire.hideRows(29,1)
ANN_TEC.hideRows(15,2)
PLG.hideSheet()
List_PLG.hideSheet()
}

if (check8 == "1"){
PLG.showSheet()
List_PLG.hideSheet()
ANN_TEC.showRows(15,2)
sommaire.showRows(29,1)
}

if (check8 == "2"){
PLG.showSheet()
List_PLG.showSheet()
ANN_TEC.showRows(15,2)
sommaire.showRows(29,1)
}

var check9 = infos.getRange(24,8).getValue();

if (check9 == "0"){
sommaire.hideRows(30,1)
ANN_TEC.hideRows(17,2)
DAF.hideSheet()
LDA.hideRows(62,2)
List_DAF.hideSheet()
}

if (check9 == "1"){
DAF.showSheet()
List_DAF.hideSheet()
ANN_TEC.showRows(17,2)
LDA.showRows(62,2)
sommaire.showRows(30,1)
}

if (check9 == "2"){
DAF.showSheet()
List_DAF.showSheet()
ANN_TEC.showRows(17,2)
LDA.showRows(62,2)
sommaire.showRows(30,1)
}
}

function LISTE_PERSO () {
var app = SpreadsheetApp;
var infos = app.getActiveSpreadsheet().getSheetByName("Informations");
var sommaire = app.getActiveSpreadsheet().getSheetByName("Sommaire");
var PdG_EDP = app.getActiveSpreadsheet().getSheetByName("3. Page de garde EDP");
var EDP = app.getActiveSpreadsheet().getSheetByName("3. EDP ");
var DRT = app.getActiveSpreadsheet().getSheetByName("III. DRT");
var DMP = app.getActiveSpreadsheet().getSheetByName("7. PV DMP-MTI");
var PdG_DMP = app.getActiveSpreadsheet().getSheetByName("7. Page de garde PV DMP-MTI");
var DRT = app.getActiveSpreadsheet().getSheetByName("III. DRT");
var PdG_AIP = app.getActiveSpreadsheet().getSheetByName("5. Page de garde AIP");
var AIP = app.getActiveSpreadsheet().getSheetByName("5. AIP");
var LDA = app.getActiveSpreadsheet().getSheetByName("1.LDA");

var liste_perso = app.getActiveSpreadsheet().getSheetByName("II. Liste perso")
var nb_personne = liste_perso.getRange(13,2).getValue();
var nb_ligne_suppr = 105-(nb_personne+14)

if (nb_personne == "91"){
liste_perso.showRows(1,nb_personne+14)
}
else{
liste_perso.showRows(1,nb_personne+14)
liste_perso.hideRows(nb_personne+15,nb_ligne_suppr)
}
}

Je vous remercie par avance de vos retours.

Bon week-end !!!

Emi

bonjour,

à tester

Sub subDRT()

    Set infos = Sheets("Informations")
    Set sommaire = Sheets("Sommaire")
    Set PdG_EDP = Sheets("3. Page de garde EDP")
    Set EDP = Sheets("3. EDP ")
    Set DRT = Sheets("III. DRT")
    Set DMP = Sheets("7. PV DMP-MTI")
    Set PdG_DMP = Sheets("7. Page de garde PV DMP-MTI")
    Set DRT = Sheets("III. DRT")
    Set PdG_AIP = Sheets("5. Page de garde AIP")
    Set AIP = Sheets("5. AIP")
    Set LDA = Sheets("1.LDA")
    Set FME = Sheets("8. PV FME")
    Set PdG_FME = Sheets("8. Page de garde PV FME")
    Set ANN_TEC = Sheets("IV. Annexe Technique")
    Set PLA = Sheets("4.1. Plan")
    Set List_PLA = Sheets("4.1. Liste plan")
    Set FT = Sheets("4.2. FT")
    Set List_FT = Sheets("4.2. Liste FT")
    Set PLG = Sheets("4.3. Planning")
    Set List_PLG = Sheets("4.3. Liste Planning")
    Set DAF = Sheets("4.4. DAF")
    Set List_DAF = Sheets("4.4. Liste DAF")

    check1 = infos.Cells(21, 4).Value

    If (check1 = 0) Then
        sommaire.Rows(18).Hidden = True
        LDA.Rows("28:29").Hidden = True
        DRT.Rows("15:16").Hidden = True
        PdG_EDP.Visible = xlSheetHidden
        EDP.Visible = xlSheetHidden
    End If

    If (check1 = 1) Then
        PdG_EDP.Visible = xlSheetVisible
        EDP.Visible = xlSheetVisible
        DRT.Rows("15:16").Hidden = False
        LDA.Rows("28:29").Hidden = False
        sommaire.Rows(18).Hidden = False
    End If

    check2 = infos.Cells(23, 4).Value

    If (check2 = 0) Then
        sommaire.Rows(22).Hidden = True
        LDA.Rows("32:33").Hidden = True
        DRT.Rows("23:24").Hidden = True
        PdG_DMP.Visible = xlSheetHidden
        DMP.Visible = xlSheetHidden
    End If

    If (check2 = 1) Then
        PdG_DMP.Visible = xlSheetVisible
        DMP.Visible = xlSheetVisible
        LDA.Rows("32:33").Hidden = False
        DRT.Rows("23:24").Hidden = False
        sommaire.Rows(22).Hidden = False
    End If

    check3 = infos.Cells(22, 4).Value

    If (check3 = 0) Then
        sommaire.Rows("20:20").Hidden = True
        LDA.Rows("54:55").Hidden = True
        DRT.Rows("19:20").Hidden = True
        PdG_AIP.Visible = xlSheetHidden
        AIP.Visible = xlSheetHidden
    End If

    If (check3 = 1) Then
        PdG_AIP.Visible = xlSheetVisible
        AIP.Visible = xlSheetVisible
        sommaire.Rows("20:20").Hidden = False
        LDA.Rows("54:55").Hidden = False
        DRT.Rows("19:20").Hidden = False
    End If

    check4 = infos.Cells(24, 4).Value

    If (check4 = 0) Then
        sommaire.Rows("23:23").Hidden = True
        LDA.Rows("56:57").Hidden = True
        DRT.Rows("25:26").Hidden = True
        PdG_FME.Visible = xlSheetHidden
        FME.Visible = xlSheetHidden
    End If

    If (check4 = 1) Then
        PdG_FME.Visible = xlSheetVisible
        FME.Visible = xlSheetVisible
        sommaire.Rows("23:23").Hidden = False
        LDA.Rows("56:57").Hidden = False
        DRT.Rows("25:26").Hidden = False
    End If

    check5 = infos.Cells(20, 9).Value

    If (check5 = 0) Then
        sommaire.Rows("25:31").Hidden = True
        LDA.Rows("58:63").Hidden = True
        ANN_TEC.Visible = xlSheetHidden
        PLA.Visible = xlSheetHidden
        List_PLA.Visible = xlSheetHidden
        FT.Visible = xlSheetHidden
        List_FT.Visible = xlSheetHidden
        PLG.Visible = xlSheetHidden
        List_PLG.Visible = xlSheetHidden
        DAF.Visible = xlSheetHidden
        List_DAF.Visible = xlSheetHidden
    End If

    If (check5 > 0) Then
        sommaire.Rows("25:31").Hidden = False
        LDA.Rows("58:63").Hidden = False
        ANN_TEC.Visible = xlSheetVisible
        PLA.Visible = xlSheetVisible
        List_PLA.Visible = xlSheetVisible
        FT.Visible = xlSheetVisible
        List_FT.Visible = xlSheetVisible
        PLG.Visible = xlSheetVisible
        List_PLG.Visible = xlSheetVisible
        DAF.Visible = xlSheetVisible
        List_DAF.Visible = xlSheetVisible
    End If

    check6 = infos.Cells(21, 8).Value

    If (check6 = 0) Then
        sommaire.Rows("27:27").Hidden = True
        LDA.Rows("58:59").Hidden = True
        ANN_TEC.Rows("11:12").Hidden = True
        PLA.Visible = xlSheetHidden
        List_PLA.Visible = xlSheetHidden
    End If

    If (check6 = 1) Then
        PLA.Visible = xlSheetVisible
        List_PLA.Visible = xlSheetHidden
        sommaire.Rows("27:27").Hidden = False
        LDA.Rows("58:59").Hidden = False
        ANN_TEC.Rows("11:12").Hidden = False
    End If

    If (check6 = 2) Then
        PLA.Visible = xlSheetVisible
        List_PLA.Visible = xlSheetVisible
        sommaire.Rows("27:27").Hidden = False
        LDA.Rows("58:59").Hidden = False
        ANN_TEC.Rows("11:12").Hidden = False
    End If

    check7 = infos.Cells(22, 8).Value

    If (check7 = 0) Then
        sommaire.Rows("28:28").Hidden = True
        ANN_TEC.Rows("13:14").Hidden = True
        LDA.Rows("60:61").Hidden = True
        FT.Visible = xlSheetHidden
        List_FT.Visible = xlSheetHidden
    End If

    If (check7 = 1) Then
        FT.Visible = xlSheetVisible
        List_FT.Visible = xlSheetHidden
        sommaire.Rows("28:28").Hidden = False
        ANN_TEC.Rows("13:14").Hidden = False
        LDA.Rows("60:61").Hidden = False
    End If

    If (check7 = 2) Then
        FT.Visible = xlSheetVisible
        List_FT.Visible = xlSheetVisible
        sommaire.Rows("28:28").Hidden = False
        ANN_TEC.Rows("13:14").Hidden = False
        LDA.Rows("60:61").Hidden = False
    End If

    check8 = infos.Cells(23, 8).Value

    If (check8 = 0) Then
        sommaire.Rows("29:29").Hidden = True
        ANN_TEC.Rows("15:16").Hidden = True
        PLG.Visible = xlSheetHidden
        List_PLG.Visible = xlSheetHidden
    End If

    If (check8 = 1) Then
        PLG.Visible = xlSheetVisible
        List_PLG.Visible = xlSheetHidden
        sommaire.Rows("29:29").Hidden = False
        ANN_TEC.Rows("15:16").Hidden = False
    End If

    If (check8 = 2) Then
        PLG.Visible = xlSheetVisible
        List_PLG.Visible = xlSheetVisible
        sommaire.Rows("29:29").Hidden = False
        ANN_TEC.Rows("15:16").Hidden = False
    End If

    check9 = infos.Cells(24, 8).Value

    If (check9 = 0) Then
        DAF.Visible = xlSheetHidden
        sommaire.Rows("30:30").Hidden = True
        ANN_TEC.Rows("17:18").Hidden = True
        LDA.Rows("62:63").Hidden = True
        List_DAF.Visible = xlSheetHidden
    End If

    If (check9 = 1) Then
        DAF.Visible = xlSheetVisible
        List_DAF.Visible = xlSheetHidden
        sommaire.Rows("30:30").Hidden = False
        ANN_TEC.Rows("17:18").Hidden = False
        LDA.Rows("62:63").Hidden = False
    End If

    If (check9 = 2) Then
        DAF.Visible = xlSheetVisible
        List_DAF.Visible = xlSheetVisible
        sommaire.Rows("30:30").Hidden = False
        ANN_TEC.Rows("17:18").Hidden = False
        LDA.Rows("62:63").Hidden = False
    End If

End Sub

Sub subLISTE_PERSO()

    Set infos = Sheets("Informations")
    Set sommaire = Sheets("Sommaire")
    Set PdG_EDP = Sheets("3. Page de garde EDP")
    Set EDP = Sheets("3. EDP ")
    Set DRT = Sheets("III. DRT")
    Set DMP = Sheets("7. PV DMP-MTI")
    Set PdG_DMP = Sheets("7. Page de garde PV DMP-MTI")
    Set DRT = Sheets("III. DRT")
    Set PdG_AIP = Sheets("5. Page de garde AIP")
    Set AIP = Sheets("5. AIP")
    Set LDA = Sheets("1.LDA")
    Set LISTE_PERSO = Sheets("II. Liste perso")
    nb_personne = LISTE_PERSO.Cells(13, 2).Value
    nb_ligne_suppr = 105 - (nb_personne + 14)
    If (nb_personne = 91) Then
        LISTE_PERSO.Rows("1:" & nb_personne + 14).Hidden = False
    Else
        LISTE_PERSO.Rows("1:" & nb_personne + 14).Hidden = False
        LISTE_PERSO.Rows(nb_personne + 15 & ":" & nb_ligne_suppr).Hidden = True
    End If
End Sub

bonjour Emi2004,

un retour ?

Bonjour

Merci beaucoup pour votre retour.

Je vais la tester mais il faut que je parvienne à faire le bouton d'enclenchement de cette macro. Je regarde et vous redit vite. En tout cas merci pour le temps passé et le retour super rapide.

Je voulais juste comprendre la notion de "visible", elle fait partie de la macro ou il s'agit du nom du SET ?

Je suis désolée de ma réponse tardive, je n'avais pas vu le retour.

Une très bonne journée à tous

bonjour,

Je voulais juste comprendre la notion de "visible", elle fait partie de la macro ou il s'agit du nom du SET ?

Elle fait partie de la macro. rendre une feuille visible ou non, c'est via la méthode .visible de la feuille. rendre visible ou non une plage de cellule d'une feuille, c'est via la méthode .hidden de la (plage de) cellule(s).

pour installer le code fourni :

ouvrir le classeur excel dans lequel installer la macro

copier le code mis sur le site (sélectionner le code, puis ctrl-C)

dans excel, faire alt-f11 (pour ouvrir l'éditeur VBA)

faire insérer->module via le menu

coller le code (ctrl-V)

faire alt-f11, pour revenir en excel dans sur la feuille active

sauvegarder le fichier avec les macros (extension . xslm)

la macro est disponible et peut être lancée via alt-f8

Ensuite, tu peux aussi te créer un bouton et lui assigner cette macro.

Re bonjour

Merci pour le retour.

J'ai 2 autres macro du même type sur le même fichier. Je tente et vous redis si tout est ok.

Bonne journée

Rechercher des sujets similaires à "apps script macro"