Convertir VBA macro excel en script macro Google Sheet
Alex_CL Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
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
- Convertir macro excel en macro google sheet
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Google maps satellite - Guide
- Dns google - Guide
- Google maps - Guide
- Liste déroulante excel - Guide
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....