Créez une bibliothèque Apps Script que vous pourrez utiliser pour supprimer les lignes en double dans les données de la feuille de calcul.
Objectifs
- Configurez le script.
- Exécutez le script.
Prérequis
Pour utiliser cet exemple, vous devez remplir les conditions préalables suivantes:
- Un compte Google (l'approbation de l'administrateur peut être nécessaire pour les comptes Google Workspace).
- Un navigateur Web avec accès à Internet
Configurer le script
Pour créer la bibliothèque, procédez comme suit:
- Connectez-vous à votre compte Google.
- Pour ouvrir l'éditeur de script, accédez à script.google.com.
- En haut à gauche, cliquez sur Nouveau projet.
Supprimez tout code éventuellement présent dans l'éditeur de scripts, puis collez dans ce dernier le code ci-dessous.
Cliquez sur Enregistrer .
En haut à gauche, cliquez sur Projet sans titre.
Nommez votre script Remove duplicate rows (Supprimer les lignes en double) et cliquez sur Renommer.
Cliquez sur Déployer > Nouveau déploiement.
À côté de Sélectionner le type, cliquez sur "Activer les types de déploiement" > Bibliothèque.
Saisissez une description de la bibliothèque, par exemple Supprimer les lignes en double. Toute personne ayant accès à la bibliothèque peut consulter cette description.
Cliquez sur Déployer.
Sur la gauche, cliquez sur Paramètres du projet .
Sous ID, copiez l'ID du script pour l'utiliser à une étape ultérieure.
Exécuter le script
Pour utiliser une bibliothèque, vous devez au moins disposer des autorisations d'affichage pour son projet Apps Script. Étant donné que vous avez créé la bibliothèque, vous disposez des autorisations nécessaires pour l'utiliser. Si vous souhaitez autoriser d'autres utilisateurs à utiliser la bibliothèque, accordez-leur l'autorisation de consulter le projet Apps Script.
Pour utiliser la bibliothèque, procédez comme suit:
- Ouvrez une feuille de calcul Google Sheets contenant des données avec des lignes en double. Pour utiliser un exemple de feuille de calcul, créez une copie de la feuille de calcul Exemple de lignes en double.
- Cliquez sur Extensions > Apps Script.
- À côté de Bibliothèques, cliquez sur Ajouter une bibliothèque .
- Dans la section Script ID (ID de script), collez l'ID de script du projet Apps Script de la bibliothèque que vous avez copié dans la section précédente.
- Cliquez sur Rechercher.
- Dans la section Version, sélectionnez 1.
- Cliquez sur Ajouter.
Supprimez tout code éventuellement présent dans l'éditeur de scripts, puis collez dans ce dernier le code ci-dessous.
function runLibrary() { Removeduplicaterows.removeDuplicates(); }
Dans le menu déroulant des fonctions, sélectionnez runLibrary.
Cliquez sur Exécuter.
Revenez à la feuille de calcul pour afficher les données mises à jour sans lignes en double.
Examiner le code
Pour consulter le code Apps Script de cette solution, cliquez sur Afficher le code source ci-dessous:
Afficher le code source
Tout d'abord, le script effectue un seul appel à la feuille de calcul pour récupérer toutes les données. Vous pouvez choisir de lire la feuille ligne par ligne, mais les opérations JavaScript sont considérablement plus rapides que de communiquer avec d'autres services tels que Spreadsheet. Moins vous effectuez d'appels, plus le processus est rapide. Cela est important, car chaque exécution de script a une durée d'exécution maximale de six minutes.
La variable data
est un tableau JavaScript à deux dimensions qui contient toutes les valeurs de la feuille. newData
est un tableau vide dans lequel le script place toutes les lignes non en double.
La première boucle for
itère sur chaque ligne du tableau à deux dimensions data
. Pour chaque ligne, la deuxième boucle vérifie si une autre ligne avec des données correspondantes existe déjà dans le tableau newData
. Si ce n'est pas un doublon, la ligne est insérée dans le tableau newData
.
Enfin, le script supprime le contenu existant de la feuille et insère le contenu du tableau newData
.
Modifications
Vous pouvez modifier la bibliothèque autant que vous le souhaitez pour l'adapter à vos besoins. Vous trouverez ci-dessous une modification facultative.
Supprimer les lignes contenant des données correspondant dans certaines colonnes
Au lieu de supprimer entièrement les lignes qui correspondent, vous pouvez supprimer les lignes contenant des données correspondantes dans une ou deux colonnes seulement. Pour ce faire, vous pouvez modifier l'instruction conditionnelle.
Dans l'exemple de code, mettez à jour la ligne suivante:
if(row.join() == newData[j].join()){ duplicate = true; }
Remplacez la ligne par le code suivant:
if(row[0] == newData[j][0] && row[1] == newData[j][1]){ duplicate = true; }
L'instruction conditionnelle ci-dessus recherche des doublons chaque fois que deux lignes contiennent les mêmes données dans les première et deuxième colonnes de la feuille.
Contributeurs
Cet exemple a été créé par Romain Vialard, expert Google en développement. Suivez Romain sur Twitter : @romain_vialard.
Cet exemple est géré par Google avec l'aide des experts Google pour les développeurs.