Convertir VBA macro excel en script macro Google Sheet
Alex_CL Messages postés 3 Statut Membre -
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
- Google maps - Guide
- Google photo - Télécharger - Albums photo
- Dns google - 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....