Convertir VBA macro excel en script macro Google Sheet
Bonjour,
Je suis nouveau sur le forum, ultra noob en VBA, mais encore plus en macro google sheet.
Je souhaite Convertir le VBA macro excel ci-dessous ==>> macro Google Sheet
(je ne peux hélas pas utiliser "macro converter" de google prévu à cet effet, car il faut une licence)
Je m'en remet donc à une âme charitable maitrisant "script/macro google sheet" qui pourrait m'aider:
Sub CACHER()
'
' CACHER Macro
'
'
Cells.Select
Selection.EntireColumn.Hidden = False
Selection.EntireRow.Hidden = False
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
Dim maVar As Variant
maVar = Range("A1").Value
Set MaPlage = Columns("D:" & maVar)
MaPlage.Select
Selection.EntireColumn.Hidden = True
ActiveSheet.Range("$A$7:$BHO$200").AutoFilter Field:=2, Criteria1:="VRAI"
End Sub
Descriptif de ma macro excel, qui fonctionne impec sous excel:
-La 1ere partie de ma VBA réaffiche TOUTES les colonnes, et les lignes, et enlèves TOUS les filtres de colonnes. Une forme de raz
-Ma 2eme partie sélectionne une plage de colonnes variables de "la colonne D" à "la variable" affichée dans ma cellule A1
-Ma 3eme partie cache la plage de colonne sélectionnée, et applique un simple filtre à ma colonne B7.
J'utilise ça pour rendre un diagramme de Gantt plus compact automatiquement (filtre automatiques)
Merci d'avance
2 réponses
-
Chat GPT m'a donné une partie du script google sheets:
var maVar = SpreadsheetApp.getActiveSheet().getRange("A1").getValue(); var maPlage = SpreadsheetApp.getActiveSheet().getRange("D1:" + maVar); maPlage.activate(); -
Entre Chat GPT et l'assemblage via l'enregistrement de macro je tombe sur
/** @OnlyCurrentDoc */ function Macrosanstitre() { var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.getActiveSheet().showColumns(1, 1575); spreadsheet.getActiveSheet().getFilter().remove(); var maVar = SpreadsheetApp.getActiveSheet().getRange("A1").getValue(); var maPlage = SpreadsheetApp.getActiveSheet().getRange("D1:" + maVar); maPlage.activate(); spreadsheet.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns()); spreadsheet.getRange('A7:BHO202').activate(); spreadsheet.setCurrentCell(spreadsheet.getRange('B7')); spreadsheet.getRange('A7:BHO202').createFilter(); spreadsheet.getRange('B7').activate(); var criteria = SpreadsheetApp.newFilterCriteria() .setHiddenValues(['FAUX']) .build(); spreadsheet.getActiveSheet().getFilter().setColumnFilterCriteria(2, criteria); };Tout marche, mon dernier prob c'est à l'extrême fin maintenant, le filtre se sélectionne mais ne s'active pas....