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 :
- Les entreprises de livraison estimant les coûts de transport
- Les planificateurs d’événements calculant les distances pour les participants
- 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.