Profile

Cover photo
Romain Vialard
Works at Revevol
Attended Euromed Management
Lives in Paris
3,066 followers|861,815 views
AboutPostsPhotosYouTube+1'sReviews

Stream

Romain Vialard
moderator

Discussion  - 
 
Every time I update my add-on, it becomes unusable (blank screen) for many users and for as long as 48 hours (then everyone can finally use the new version and everything get back to normal)
Did someone else experienced the same issue while rolling out an update ?
1
Faustino Rodriguez's profile photoSteve Webster's profile photo
2 comments
 
Not that symptom. However, I did my first update after about 30 days yesterday. I have a "Demo" button that retrieves data from Script Properties to build a  demo sheet. If the sheet already exists, then it updates it.

Well I get a pop up that this file can not be loaded and prompts for reporting the issue.

The console contans:
SES initialization ses-single-frame.opt.js?debug=1:46
Sandbox mode: NATIVE 1284236506-maestro_htmlapp_bin_maestro_htmlapp.js?lib=MFzsLDUWJmyWrclwow_okLPyFg_78DJ08:194
Thu Apr 24 12:14:17 GMT-400 2014 RitzEntryPoint
SEVERE: Uncaught Exception:java.lang.RuntimeException(EXACT TYPE UNKNOWN): forEachSupportingRangeIntersecting
at Unknown.av(ritz-0.js@30:414)
at Unknown.gv(ritz-0.js@19:417)
at Unknown.iv(ritz-0.js@19:419)
at Unknown.Gcg(ritz-0.js@20:5068)
at Unknown.SKe(ritz-0.js@363:2584)
at Unknown.ajf(ritz-0.js@80:3548)
at Unknown.Pif(ritz-0.js@64:3535)
at Unknown.Tif(ritz-0.js@32:3539)
at Unknown.$of(ritz-0.js@844:3615)
at Unknown.oQb(ritz-0.js@7086:1263)
at Unknown.eval(ritz-0.js@3620:1260)
at Unknown.Gw(ritz-0.js@29:477)
at Unknown.Kw(ritz-0.js@57:481)
at Unknown.eval(ritz-0.js@50:480)
at Unknown.bVa(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@151:2210)
at Unknown.bVa(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@82:2210)
at Unknown.s.applyCommand(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@179:2772)
at Unknown.bW.j(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@501:2772)
at Unknown.zLb(ritz-0.js@48:1138)
at Unknown.PQb(ritz-0.js@9290:1263)
at Unknown.eval(ritz-0.js@3732:1260)
at Unknown.Gw(ritz-0.js@29:477)
at Unknown.Kw(ritz-0.js@57:481)
at Unknown.eval(ritz-0.js@50:480)
at Unknown.j(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@571:2817)
at Unknown.s.apply(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@1452:2771)
at Unknown.s.apply(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@199:2776)
at Unknown.s.EFa(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@289:2777)
at Unknown.<anonymous>(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@93:2187)
at Unknown.Og(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@412:105)
at Unknown.s.dispatchEvent(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@436:104)
at Unknown.s.G3(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@325:2795)
at Unknown.<anonymous>(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@93:2187)
at Unknown.s.nBa(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@241:2792)
at Unknown.s.sN(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@316:235)
at Unknown.gva(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@41:971)
at Unknown.s.Lpa(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@465:970)
at Unknown.s.aua(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@374:961)
at Unknown.vua(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@402:947)
at Unknown.uua(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@281:943)
at Unknown.s.dsa(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@359:942)
at Unknown.oua(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@650:939)
at Unknown.s.FG(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@425:939)
at Unknown.s.z1a(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@58:941)
at Unknown.Og(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@412:105)
at Unknown.s.dispatchEvent(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@359:104)
at Unknown.Lea(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@128:115)
at Unknown.s.fba(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@370:114)
at Unknown.c(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@2569:2177)
at Unknown.s.Nga(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@345:114)
 ritz-0.js:902
Thu Apr 24 12:14:18 GMT-400 2014 RitzEntryPoint
SEVERE: Uncaught Exception:java.lang.RuntimeException(EXACT TYPE UNKNOWN): forEachSupportingRangeIntersecting
at Unknown.av(ritz-0.js@30:414)
at Unknown.gv(ritz-0.js@19:417)
at Unknown.iv(ritz-0.js@19:419)
at Unknown.Gcg(ritz-0.js@20:5068)
at Unknown.SKe(ritz-0.js@363:2584)
at Unknown.ajf(ritz-0.js@80:3548)
at Unknown.Pif(ritz-0.js@64:3535)
at Unknown.Tif(ritz-0.js@32:3539)
at Unknown.$of(ritz-0.js@844:3615)
at Unknown.oQb(ritz-0.js@7086:1263)
at Unknown.eval(ritz-0.js@3620:1260)
at Unknown.Gw(ritz-0.js@29:477)
at Unknown.Kw(ritz-0.js@57:481)
at Unknown.eval(ritz-0.js@50:480)
at Unknown.bVa(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@151:2210)
at Unknown.bVa(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@82:2210)
at Unknown.s.applyCommand(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@179:2772)
at Unknown.bW.j(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@501:2772)
at Unknown.zLb(ritz-0.js@48:1138)
at Unknown.PQb(ritz-0.js@9290:1263)
at Unknown.eval(ritz-0.js@3732:1260)
at Unknown.Gw(ritz-0.js@29:477)
at Unknown.Kw(ritz-0.js@57:481)
at Unknown.eval(ritz-0.js@50:480)
at Unknown.j(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@571:2817)
at Unknown.s.apply(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@1452:2771)
at Unknown.s.apply(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@199:2776)
at Unknown.s.EFa(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@289:2777)
at Unknown.<anonymous>(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@93:2187)
at Unknown.Og(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@412:105)
at Unknown.s.dispatchEvent(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@436:104)
at Unknown.s.G3(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@325:2795)
at Unknown.<anonymous>(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@93:2187)
at Unknown.s.nBa(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@241:2792)
at Unknown.s.sN(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@316:235)
at Unknown.gva(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@41:971)
at Unknown.s.Lpa(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@465:970)
at Unknown.s.aua(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@374:961)
at Unknown.vua(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@402:947)
at Unknown.uua(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@281:943)
at Unknown.s.dsa(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@359:942)
at Unknown.oua(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@650:939)
at Unknown.s.FG(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@425:939)
at Unknown.s.z1a(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@58:941)
at Unknown.Og(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@412:105)
at Unknown.s.dispatchEvent(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@359:104)
at Unknown.Lea(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@128:115)
at Unknown.s.fba(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@370:114)
at Unknown.c(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@2569:2177)
at Unknown.s.Nga(https://docs.google.com/static/spreadsheets2/client/js/3302729127-ritz_waffle_i18n_core.js@345:114)
 ritz-0.js:902
Add a comment...

Romain Vialard
moderator

Tips & tricks  - 
 
 
Google Groups Directory
For Google Apps domain administrators: I've updated this app. Install it on your domain to let your users display all groups on the domain, see the members of a specific group and list all groups a user belongs to.

Code and installation steps can be found here:
list members of a group | scriptsexamples
17
4
Faustino Rodriguez's profile photoFrederic YUE's profile photoJesse Hagensen's profile photoDavid Claridge's profile photo
3 comments
 
thanks +Romain Vialard always learning from your code
BTW, what tool are you using to build those amazing GIFs?
Add a comment...

Romain Vialard

Shared publicly  - 
 
Google Sites Finally! It is now possible to allow viewers to comment on your site, not just the owners and editors.
https://support.google.com/a/answer/4599075?hl=en

(Attention: this feature seems to be only available on Google Apps domains not Google Sites created with gmail.com accounts).
The option is available under Manage Site > General
43
17
Eduardo Carrillo's profile photoPedro Márquez Gallardo's profile photoRitu Khanna's profile photoDerek Pizzuto's profile photo
13 comments
 
Same issue here... I pasted the script from an old quiz into the blank code editor in the new Google Form... it seems to work fine when a new form is submitted, but it won't send emails at a given time -- no error code, it just sends the first submission, but does not loop properly.  I don't know if there's some change in how the new forms process the code, but it's very frustrating.  Based on how the exact same code works fine on old sheets and hits a snag on the new one, I'm assuming it's something about the new forms that is to blame.  If you could offer any insights into this, I'd appreciate it!  I can share the form where I pasted the code, if that's helpful...

Thanks,
Derek
Add a comment...
 
Google Docs and Sheets Add-ons are live
And the new version of Yet Another Mail Merge as well.
Don't hesitate to give it a try :)

Thanks a lot to +Kyle Horst for the new icon and to +Alexander Ivanov +Federico Granata +Antonio Guzmán Fernández +Daniel Ramos de Carvalho +viraj nandoskar +Holger Ahrens +Keisuke Oohashi +Tamás Schlemmer and many others for their translations, let me know if everything is working well in your language (once you have installed the app - the store listing remains in English)
26
7
Federico Granata's profile photoAlexander Ivanov's profile photoJérôme Bousquet's profile photoGAS LibraryApp's profile photo
3 comments
 
Excellent, merci !
 ·  Translate
Add a comment...
 
Awesome Table - Activate row-level permissions
Beta-testers wanted! Here's a new feature for Awesome Table:  you can now use a "Google Apps Script Proxy" to only display specific rows of your Sheet, depending on the connected user, without sharing the Sheet.

For example, if you are collecting usernames through a Google Form, you will be able to let users only see their own submissions. 
33
8
Jose Alzueta Mancoeduca's profile photoRomain Vialard's profile photoBrad Durbin's profile photoHarald Tobermann's profile photo
11 comments
 
+Frederic ROGER Not with the code I provided but it would be very easy to rewrite the Apps Script part (the proxy), to get it to work with groups emails while still being compatible with Awesome Table (I'm using it myself on different projects but the code is too specific to be shared)
Add a comment...
Have him in circles
3,066 people

Romain Vialard

Shared publicly  - 
 
Awesome Table - The number of users is growing fast!
This app is now installed on 8215 Google Sites pages and used by 868 Google Apps domains.

Here's the Top 10: (some are my clients)
- cci-paris-idf.fr
- mortgagechoice.com.au
- forrester.com
- teamfishel.com
- google.com
- euromaster.com
- twitter.com
- dicksmith.com.au
- noritsu.com
- solvay.com

The app is mostly used as a standard table + filters (81%).
It's also often use in the sidebar version (10%), eg to build a People directory:
people directory | scriptsexamples
The Cards, BI (advanced summary of responses) & Maps visualizations have much less users... maybe just because I don't communicate enough (I use the BI view a lot!).
17
2
Elizabeth McCarthy's profile photoAlbert Riviere's profile photoJohn Calvert's profile photoKurt Palmer's profile photo
4 comments
 
oté mounoi, he has a secret to be so strong... who knows ? 
Add a comment...
 
Google Groups Directory
For Google Apps domain administrators: I've updated this app. Install it on your domain to let your users display all groups on the domain, see the members of a specific group and list all groups a user belongs to.

Code and installation steps can be found here:
list members of a group | scriptsexamples
57
35
Simon Margetts's profile photoRachel Welsch's profile photoWarren Apel's profile photoMittchiel McClendon's profile photo
7 comments
 
Good. 
Add a comment...

Romain Vialard

Shared publicly  - 
 
Google Sites: more options for File Cabinets
It's now possible to show column headers and use them to sort the information (to quickly view the most recent documents)
And folders can be collapsed by default
Well spotted +Stephen Hind 
As many companies are still using File Cabinets to store processes as PDFs on an Intranet, that will be useful!
26
5
Tarad Alfandi's profile photoRiël Notermans's profile photoAlexander Ivanov's profile photoFrank Jung's profile photo
6 comments
 
+Alexander Ivanov Я уже видела это обновление, но , все равно, спасибо))
 ·  Translate
Add a comment...
 
Help wanted
I'm working on a new version of Yet Another Mail Merge. If you have a few minutes to spare, please help me make it available in your language!
Here's the translation table:
https://docs.google.com/spreadsheets/d/1t-rcXK-0Y2v4_x5KwKp_sA_YBv2KR2P5JOt4SsAckDM/edit?usp=sharing
16
4
Maurizio Gennaro Cataldo's profile photoAlexander Ivanov's profile photoPavel Epifanov's profile photoGAS LibraryApp's profile photo
28 comments
 
I have completed translation of your app into Vietnamese, good luck mate!
Add a comment...

Romain Vialard

Shared publicly  - 
 
Awesome Tables
In addition to the standard Maps view, here's a new view to create a basic map and display markers of different colors and sizes.
geochart | scriptsexamples
Documentation will be updated soon.
34
9
Chris King's profile photoFlamur Kasa's profile photoJosée Beauchesne's profile photoHarald Tobermann's profile photo
6 comments
 
wow!this is good.Which scripting language?
Add a comment...
People
Have him in circles
3,066 people
Work
Occupation
Google Apps Consultant (Change management)
Employment
  • Revevol
    Google Apps Consultant, 2010 - present
  • AstraZeneca
  • Valeo (Management Services)
  • Accenture
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Paris
Previously
Singapore - Marseille - Poitiers
Contact Information
Home
Email
Story
Tagline
Google Developer Expert, Google Top Contributor, Change Management consultant & Pre Sales Engineer
Introduction
I am mostly known for the Gmail Meter.

I used Apps Script for the first time during an internship. My teammates where wasting their time, trying to manage events registration by email. I built an event management system and realized that this script could help many people. So I published my first template. And then I published another one, and many more after. Some of them have been reused thousands of times.

I’ve done trainings and seminars on Apps Script so that more people could make more scripts and automate more tasks. But the goal is not for everybody to learn how to script. The goal is for everybody to be able to benefit from Apps Script.

I want to demonstrate that companies who have gone Google would benefit from putting together a community of scripters ready to help their fellow workers and spread the word: Don't hate. Automate.

Useful scripts:
Google Sites: Awesome Tables
Google Sites: Awesome Maps
Google Spreadsheets: Add reminders
Education
  • Euromed Management
    MSc In Management, 2008 - 2012
  • ESCEM
    2009 - 2009
Basic Information
Gender
Male
Relationship
In a relationship
Romain Vialard's +1's are the things they like, agree with, or want to recommend.
Build add-ons for Google Docs and Sheets - Google Apps Developer Blog
googleappsdeveloper.blogspot.com

We've just announced Google Docs and Sheets add-ons — new tools created by developers like you that give Google users even more features in

Chromium Blog: WebP improves while rolling out across Google
blog.chromium.org

The WebP team at Google focuses on making the web better through smaller, faster-loading images. We've seen that WebP compares favorably wit

Google Поиск
market.android.com

Мобильный Google – это самый простой и быстрый способ поиска информации в Интернете и на Android-устройстве.– Быстрый поиск информации на мо

Ultradox
www.ultradox.com

Create dynamic documents from Google Docs templates

Remove Duplicates - Google Sheets add-on
chrome.google.com

Follow 5 simple steps to find duplicate or unique values between two tables or in one sheet

Google Script - Enterprise Application Essentials
books.google.fr

books.google.fr - How can you extend Google Apps to fit your organization’s needs? This concise guide shows you how to use Google Scripts, t

Google Apps Script for Beginners
books.google.fr

books.google.fr - This book is a simple step-by-step, example-oriented guide with a focus on providing the practical skills necessary to dev

Yet Another Mail Merge - Google Sheets add-on
chrome.google.com

Create your mail template as a draft in Gmail and merge it with your Sheet data. You can use this syntax: &lt;&gt;

Google Sites
sites.google.com

Thinking of creating a website? Google Sites is a free and easy way to create and share webpages.

Geochart - Google Apps Script Examples
sites.google.com

Google Script Examples has high quality custom libraries to help you get more done by writing less code. This site is maintained by two Goog

DataTable Roles
developers.google.com

This chart does not apply roles explicitly, and so can only use the basic data and domain column layout shown above. DataTable: var data = n

Class GmailLabel
developers.google.com

Overview; 5-Minute Quickstarts. Macros, Menus, and Custom Functions · Managing Responses for Google Forms. Intermediate Tutorials. Sending E

Newsletter Example 3 - Google Apps Script Examples
sites.google.com

Google Script Examples has high quality custom libraries to help you get more done by writing less code. This site is maintained by two Goog

Photo Gallery - Google Apps Script Examples
sites.google.com

Google Script Examples has high quality custom libraries to help you get more done by writing less code. This site is maintained by two Goog

Public - 3 months ago
reviewed 3 months ago
Public - 3 months ago
reviewed 3 months ago
Public - 3 months ago
reviewed 3 months ago
Public - 3 months ago
reviewed 3 months ago
19 reviews
Map
Map
Map
Public - 3 months ago
reviewed 3 months ago
Public - 3 months ago
reviewed 3 months ago
Public - 6 months ago
reviewed 6 months ago