Créer un macro sur google sheet pour Masquer/Afficher des colonnes

Bonjour à tous,

J'ai besoin de pouvoir masquer des colonnes exemple de C à Z de ma feuille "DASHBOARD" et ensuite d'avoir des case a cocher pour afficher une partie des colonnes ex si je coche la premier case , ce sont les colonne de C à G qui s'affiche , si je coche la deuxieme case ce sont les colonnes H à M qui s'affiche ... etc

C'est la premiere fois que j'essaye d'utiliser des macros , j'ai bien compris le principe suite aux sujets trouvé sur le forum concernant l'écriture de cette procédure sur excel à savoir ex:

Sub Masquer_Colonnes()

Sheets("Liste projets").Range("D:E,H:H,L:M,T:T,V:V").EntireColumn.Hidden = True

End Sub

Sub Afficher_Colonnes()

Sheets("Liste projets").Range("D:E,H:H,L:M,T:T,V:V").EntireColumn.Hidden = False

End Sub

Par contre cela ne fonctionne pas sur Googlesheet.

Merci par avance pour votre support

Bonjour,

Les macros sont exécutées côté serveur, donc avec une latence qui dépend surtout de ta connexion internet.

Je te propose plutôt une autre formule qui est de mettre des "plans" ou regroupements de colonnes :

  • sélectionne les colonnes, puis affichage > regrouper
image

Bonjour ,

Je te remercie pour ta réponse. Oui effectivement je peux regrouper les colonnes mais ce n'est pas ce que je recherche.

Je veux vraiment avoir des cases à cocher . le principe chaque groupement de colonne contient des informations spécifiques (Achat / Finance / Planning ... )

et que donc lorsque que quelq'un entre de le fichier il puisse visualiser la nature des infos et ne selectionner que ce qui le concerne .

Je ne sais pas si c'est bien expliqué

et ah oui j'oublié ce n'est pas un probleme de réseau , ca me met erreur syntaxe . et on dirait qu'il ne reconnait pas le mot SUB ou entirecolumn

ce que tu proposes n'est pas du google app script (gas) mais du VBA ! cela ne peut pas fonctionner dans gas

C'est ce que je me disais. Donc pas d'autres alternatives ?

Merci pour ton retour

tu veux du gas ou du vba ?

si gas, merci de mettre un lien vers un fichier simplifié anonymisé

bonjour.

L’alternative c’est de se mettre au « GAS »

Excel et GSheets sont deux applis qui ne fonctionnent pas avec les mêmes concepts.

Le Visual Basic pour Applications a été élaboré par Microsoft

Tandis que Apps Google Script élaboré par Google sur des bases de JavaScript.

Je vous remercie pour vos retours,

J'ai fini par trouver en intégrant le script suivant :

function showColumns() {

var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet = ss.getActiveSheet();

sheet.showColumns(2,3); // B-D, afficher 3 colonnes à partir de la seconde

sheet.showColumns(7); // G, afficher colonne n° 7

}

function hideColumns() {

var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet = ss.getActiveSheet();

sheet.hideColumns(2,3); // B-D, cacher 3 colonnes à partir de la seconde

sheet.hideColumns(7); // G, cacher colonne n° 7

@ C_yasmine

je crois reconnaitre ;) de qui c'est !!!!

AHH c'est de vous ...

Merci beaucoupca a été trés utile , J''avais laissé un commentaire que je vais mettre la du coup .

j’aimerais savoir s’il est possible d’intégrer une commande pour que le script ne soit pas decaller lorsqu’on rajoute une colonne .
Ex : j’ai mis en place un script pour afficher/masquer les colonnes BCDE donc selon le script afficher/masquer 4 colonnes à partir de la seconde
Mais si je rajoute une colonne entre A et B mon script sera decaler et ne prendra plus en charge les bonnes colonnes.
y a t-il une solution pour ca ?

encore Merci

C’est l’utilisation et le concept de GAS (Apps Google Script)

sheet.showColumns(2,4); devrait faire la demande mais pour avoir de l’aide chez Google c’est aussi possible avec la touche F1

Affiche une ou plusieurs colonnes consécutives à partir de l'index donné.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
sheet.showColumns(1, 3);

dans votre cas de décalage il faut voir comment est conçu votre script

Rechercher des sujets similaires à "creer macro google sheet masquer afficher colonnes"