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

  1. 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();
    0
    1. 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....

      0