Convertir VBA macro excel en script macro Google Sheet

Fermé
Alex_CL Messages postés 3 Date d'inscription mercredi 15 mars 2023 Statut Membre Dernière intervention 16 mars 2023 - Modifié le 15 mars 2023 à 10:49
Alex_CL Messages postés 3 Date d'inscription mercredi 15 mars 2023 Statut Membre Dernière intervention 16 mars 2023 - 16 mars 2023 à 17:05

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

A voir également:

2 réponses

Alex_CL Messages postés 3 Date d'inscription mercredi 15 mars 2023 Statut Membre Dernière intervention 16 mars 2023
16 mars 2023 à 15:00

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
Alex_CL Messages postés 3 Date d'inscription mercredi 15 mars 2023 Statut Membre Dernière intervention 16 mars 2023
16 mars 2023 à 17:05

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