Automatiser le calcul des distances dans Google Sheets avec Apps Script

Dans le monde dynamique d’aujourd’hui, l’efficacité et l’automatisation sont clés pour économiser du temps et augmenter la productivité. Que vous soyez un gestionnaire de flotte, un organisateur d’événements, ou simplement quelqu’un qui planifie un voyage, calculer des distances entre des points peut s’avérer essentiel. Google Sheets, combiné à Google Apps Script et à l’API Google Maps, offre une solution puissante pour automatiser ce processus.

Dans cet article, nous explorerons comment créer un script pour calculer automatiquement les distances en voiture entre des adresses saisies dans une feuille de calcul Google Sheets.

Pourquoi automatiser le calcul des distances ?

L’automatisation du calcul des distances peut vous faire économiser un temps considérable, surtout si vous travaillez régulièrement avec des listes d’adresses. Plutôt que de saisir manuellement chaque adresse dans Google Maps, notre solution propose un calcul instantané directement dans votre feuille de calcul. Cela peut être particulièrement utile pour :

  1. Les entreprises de livraison estimant les coûts de transport
  2. Les planificateurs d’événements calculant les distances pour les participants
  3. Les voyageurs organisant leurs itinéraires

Comment configurer le script dans Google Sheets ?

Étape 1 : Préparer votre feuille de calcul Google Sheets

Commencez par créer une nouvelle feuille de calcul Google Sheets. Dans la première ligne, nommez trois colonnes : « Adresse de départ », « Adresse d’arrivée », et « Distance en km ».

Étape 2 : Ajouter le code Google Apps Script

  • Ouvrez l’éditeur de script depuis votre feuille de calcul en cliquant sur Extensions > Apps Script.
  • Copiez et collez le script (fourni plus bas) dans l’éditeur de script.
function onEdit(e) {
  // Obtenir la plage qui a été modifiée
  var range = e.range;
  var feuille = range.getSheet();
  
  // Vérifier si la modification a eu lieu dans la colonne A ou B et dans une ligne avec des valeurs dans les deux colonnes
  if ((range.getColumn() == 1 || range.getColumn() == 2) && feuille.getRange(range.getRow(), 1).getValue() && feuille.getRange(range.getRow(), 2).getValue()) {
    calculerDistancePourLigne(range.getRow());
  }
}

function calculerDistancePourLigne(ligne) {
  var feuille = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var adresseDepart = feuille.getRange(ligne, 1).getValue();
  var adresseArrivee = feuille.getRange(ligne, 2).getValue();
  
  var directionsService = Maps.newDirectionFinder().setMode(Maps.DirectionFinder.Mode.DRIVING);
  var directions = directionsService.setOrigin(adresseDepart).setDestination(adresseArrivee).getDirections();
  
  if (directions && directions.routes.length > 0) {
    var distance = directions.routes[0].legs[0].distance.text;
    // Extraire seulement le nombre, remplacer le point par une virgule
    var distanceSansUnité = distance.split(' ')[0].replace('.', ',');
    feuille.getRange(ligne, 3).setValue(distanceSansUnité);
  } else {
    feuille.getRange(ligne, 3).setValue("Distance non trouvée");
  }
}

Étape 3 : Le script

Le script utilise Google Maps Directions API pour calculer la distance de conduite entre les adresses de départ et d’arrivée. Il inclut une fonction `onEdit` qui déclenche le calcul automatiquement dès qu’une adresse est saisie ou modifiée.

Conclusion

L’automatisation du calcul des distances dans Google Sheets via Google Apps Script est un excellent exemple de la manière dont vous pouvez utiliser les outils Google pour améliorer votre efficacité. En suivant les étapes décrites dans cet article, vous serez capable de mettre en place un système qui non seulement économise du temps mais aussi augmente la précision de vos calculs de distances.

Laisser un commentaire