Simplifiez la génération et l’envoi de QR Code avec Google Sheets

Dans le monde d’aujourd’hui, où la numérisation prend de plus en plus d’importance, les QR Codes sont devenus un outil indispensable pour partager rapidement des informations, des liens vers des sites web, des menus de restaurants, des événements, et bien plus encore. Google Sheets, en combinaison avec Google Apps Script, offre une méthode puissante et flexible pour générer et distribuer ces codes. Dans ce guide, nous explorerons comment créer une solution personnalisée permettant de générer des QR Codes à partir d’URLs stockées dans Sheets et de les envoyer par email, le tout avec une interface utilisateur élégante qui s’harmonise avec le style de Google Workspace.

Étape 1 : Préparation de votre feuille Google Sheets

Commencez par ouvrir Google Sheets et accéder à l’éditeur de script en sélectionnant Extensions > Apps Script. Cet espace vous permettra de saisir le code nécessaire pour activer la génération et l’envoi des QR Codes.

Étape 2 : Création du script de génération de QR Code

Dans l’éditeur Apps Script, écrivez un script qui génère un QR Code basé sur une URL contenue dans une cellule sélectionnée. Utilisez un service externe comme l’API Google Chart pour créer le QR Code.

Voici un exemple de fonction qui réalise cette tâche :

// Génère le QR Code et l'envoie par email.

function genererEtEnvoyerQRCode(adresseEmail) {
  var feuille = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var selection = feuille.getActiveRange();
  var url = selection.getValue();

  if (url) {
    var urlEncode = encodeURIComponent(url);
    var urlQR = `https://chart.googleapis.com/chart?cht=qr&chl=${urlEncode}&chs=150x150`;
    
    var sujet = "Votre QR Code Généré";
    var message = "Voici votre QR Code généré : <br><img src='" + urlQR + "' alt='QR Code' />";
    
    MailApp.sendEmail({
      to: adresseEmail,
      subject: sujet,
      htmlBody: message
    });

    SpreadsheetApp.getUi().alert("QR Code envoyé par email à : " + adresseEmail);
  } else {
    SpreadsheetApp.getUi().alert("La cellule sélectionnée est vide. Veuillez sélectionner une cellule contenant une URL.");
  }
}

Étape 3 : Ajouter un menu personnalisé

Intégrez un menu personnalisé dans Google Sheets pour accéder facilement à votre script. Utilisez la fonction onOpen pour créer ce menu :

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Générateur QR Code')
      .addItem('Générer et envoyer par email', 'demanderEmail')
      .addToUi();
}

Étape 4 : Créer une boîte de dialogue pour l’email

Utilisez les HTML Services pour créer une boîte de dialogue demandant l’adresse email du destinataire. Ce dialogue renforce l’expérience utilisateur en fournissant une interface propre et fonctionnelle.

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <style>
      body {
        font-family: 'Google Sans', Roboto, Arial, sans-serif;
        margin: 20px;
      }
      .form-group {
        margin-bottom: 20px;
      }
      label {
        display: block;
        font-weight: 500;
        margin-bottom: 5px;
      }
      input[type="email"] {
        width: 100%;
        padding: 10px;
        border: 1px solid #ccc;
        border-radius: 4px;
        box-sizing: border-box;
      }
      button {
        background-color: #1a73e8;
        color: white;
        padding: 10px 24px;
        border: none;
        border-radius: 4px;
        cursor: pointer;
      }
      button:hover {
        background-color: #1565c0;
      }
    </style>
  </head>
  <body>
    <div class="form-group">
      <label for="emailAddress">Adresse email du destinataire :</label>
      <input type="email" id="emailAddress" value="">
    </div>
    <div class="form-group">
      <button onclick="sendEmail()">Envoyer</button>
    </div>

    <script>
      function sendEmail() {
        var email = document.getElementById('emailAddress').value;
        google.script.run.withSuccessHandler(function() {
          google.script.host.close(); // Ferme la boîte de dialogue après l'envoi
        }).generateAndEmailQRCode(email);
      }
    </script>
  </body>
</html>

Étape 5 : Ajouter l’appel à la boîte de dialogue

Pour que votre boîte de dialogue s’intègre harmonieusement avec l’esthétique de Google Workspace, appliquez des styles CSS adéquats. Voici un exemple de style qui utilise Material Design :

// Ouvre une boîte de dialogue pour saisir l'adresse email du destinataire.
function demanderEmail() {
  var html = HtmlService.createHtmlOutputFromFile('InviteEmail')
      .setWidth(400)
      .setHeight(200);
  SpreadsheetApp.getUi().showModalDialog(html, 'Entrer l\'adresse email du destinataire');
}

Fonctionnement

Il suffit de saisir une URL et de cliquer sur le menu et de saisir l’email de destination.

Conclusion

En suivant ces étapes, vous aurez créé une fonctionnalité robuste et esthétiquement agréable pour générer et envoyer des QR Codes directement depuis Google Sheets. Ce processus non seulement simplifie la tâche de distribution de l’information mais le fait d’une manière qui est accessible à tous les niveaux de compétence technique.

L’intégration de Google Apps Script avec Google Sheets ouvre un monde de possibilités pour automatiser et personnaliser votre flux de travail. Que ce soit pour la gestion d’événements, le marketing, ou simplement pour partager des informations de manière innovante, cette solution de QR Code est un exemple de la puissance de l’automatisation accessible à tous.