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 Subbonjour 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