Comment utiliser les macros ONLYOFFICE pour automatiser le nettoyage des feuilles de calcul

Le nettoyage des feuilles de calcul est une tâche répétitive : les noms exportés contiennent des espaces superflus, le texte collé renferme des espaces insécables et les formules ou identifiants peuvent être altérés par des remplacements trop larges. Une macro ONLYOFFICE permet d'uniformiser le texte dans une plage définie tout en préservant les valeurs numériques et les cellules contenant des formules. L'exemple ci-dessous gère uniquement les espaces ; la suppression des doublons, la conversion des dates et la suppression des lignes vides nécessitent des règles distinctes.

Documentation vérifiée le 6 octobre 2026. Les macros ONLYOFFICE utilisent JavaScript avec l'API JavaScript d'Office, et non Excel VBA. La documentation actuelle de l'éditeur ouvre l'espace de travail des macros via Affichage → Macros . L'apparence exacte de la barre d'outils peut varier entre les versions de bureau et hébergées.

Cette macro peut gérer les tâches de nettoyage.

L'exemple supprime les espaces et tabulations de début et de fin, remplace les espaces insécables par des espaces normaux et réduit les espaces et tabulations répétés dans le texte. Il ignore les formules et les valeurs qui ne sont pas des chaînes de caractères. Cette limitation réduit le risque de modifier des dates, des montants ou des cellules calculées lors de la préparation d'une importation récurrente.

Problème de donnéesQue fait l'échantillon ?Examiner avant d'automatiser
Espaces et tabulations en début ou en finSupprime les cellules de texteGénéralement sans danger pour les noms et les étiquettes, mais vérifiez les champs où l'espacement est significatif.
Espaces incassablesLes remplace par des espaces réguliersUtile pour le texte Web copié ; vérifiez rapidement le champ source
Espaces ou tabulations répétésRéduit chaque course à un seul espaceNe pas utiliser sur du texte à largeur fixe ou avec une indentation intentionnelle.
Formules, nombres et booléensLes laisse inchangésVérifiez que les cellules de formule continuent de calculer après l'exécution.
Lignes en double, dates, lignes videsCela ne les change pasDéfinissez d'abord les règles métier ; il ne s'agit pas d'un simple nettoyage cosmétique.

1. Préparez une copie et définissez la plage

Enregistrez une copie de travail de la feuille de calcul avant d'exécuter une macro modifiant des cellules. Identifiez la feuille de calcul et les lignes de données à nettoyer. Dans le code ci-dessous, A2:D500un exemple de plage est fourni : la ligne 1 contient les en-têtes et les données sont attendues dans les colonnes A à D. Adaptez cette adresse à votre feuille. Utilisez une plage délimitée qui couvre les enregistrements concernés et excluez les notes, les formules et les colonnes non pertinentes.

Un tableau ONLYOFFICE avec les colonnes Client, Ville et Statut et quatre exemples d'enregistrements.
Une petite feuille de calcul fournit un échantillon délimité ; veillez à ce que la ligne d’en-tête reste en dehors de la zone de nettoyage.

Pour un premier test, copiez quelques enregistrements représentatifs dans une feuille temporaire ou dupliquez le fichier et réduisez la plage, par exemple A2:D10. Incluez des exemples avec des espaces ordinaires, du texte collé, des cellules vides et des formules afin de vérifier comment la macro traite chaque cas.

2. Ouvrez l'éditeur de macros ONLYOFFICE

Ouvrez la feuille de calcul dans ONLYOFFICE Spreadsheet Editor et choisissez Affichage → Macros . Créez une nouvelle macro dans la fenêtre des macros ou sélectionnez un nouveau module, puis donnez-lui un nom clair, par exemple « macros ». Le guide de démarrageCleanTextWhitespace officiel des macros ONLYOFFICE décrit ce point d’entrée et la commande d’exécution.

ONLYOFFICE Éditeur de feuilles de calcul avec l'onglet Affichage sélectionné et le contrôle Macros visible sur le ruban.
L'onglet Affichage contient la commande Macros permettant d'ouvrir l'espace de travail des macros.

Si les macros sont désactivées dans les paramètres de votre éditeur, consultez Paramètres → Paramètres avancés → Macros . ONLYOFFICE propose des options pour désactiver les macros, afficher une notification ou les activer. Pour un classeur que vous n'avez pas créé, n'activez pas toutes les macros globalement pour exécuter un seul script ; examinez le code et respectez la politique de votre organisation.

3. Collez cette macro délimitée et prenant en compte les formules.

Collez le code dans l'éditeur de macros. Modifiez- A2:D500le avant de l'exécuter. Les méthodes de plage utilisées ici sont documentées dans la référence GetRange de la feuille de calcul , la référence GetCells de la plage et les pages API pour GetFormula , GetValue et SetValue .

(function () {
    var oSheet = Api.GetActiveSheet();
    var oRange = oSheet.GetRange("A2:D500");
    var nRows = oRange.GetRowsCount();
    var nCols = oRange.GetColumnsCount();

    for (var r = 1; r <= nRows; r++) {
        for (var c = 1; c <= nCols; c++) {
            var oCell = oRange.GetCells(r, c);
            var sFormula = oCell.GetFormula();

            // Do not replace formulas with their displayed results.
            if (sFormula) {
                continue;
            }

            var v = oCell.GetValue();

            // Restrict this cleanup to text constants.
            if (typeof v !== "string") {
                continue;
            }

            var sClean = v
                .replace(/\u00A0/g, " ")
                .replace(/[ \t]+/g, " ")
                .replace(/^[ \t]+|[ \t]+$/g, "");

            // SetValue treats strings beginning with "=" as formulas.
            if (sClean.charAt(0) === "=") {
                continue;
            }

            if (sClean !== v) {
                oCell.SetValue(sClean);
            }
        }
    }
})();
L'éditeur de macros ONLYOFFICE affiche des lignes JavaScript qui sélectionnent une plage délimitée et lisent les formules et les valeurs des cellules.
Le volet de code affiche les méthodes de lecture de plage et de cellule utilisées par la macro de nettoyage.

Les compteurs de lignes et de colonnes transmis GetCellssont relatifs à la plage sélectionnée ; les exemples d'API utilisent des positions numérotées pour accéder à une cellule. La macro lit d'abord la formule de chaque cellule et l'ignore si une formule est présente. Elle lit ensuite la valeur et modifie uniquement les chaînes de caractères qui changent réellement. Une chaîne qui deviendrait une formule avec le signe égal après suppression des espaces est également ignorée, car le système SetValuepeut interpréter un signe égal initial comme une formule.

L'expression d'espacement blanc ne modifie pas les sauts de ligne. Elle ne change ni la casse, ni la ponctuation, ni les valeurs numériques, ni la numérotation des dates. Si votre source contient des notes multilignes, des champs à largeur fixe ou des identifiants avec des espaces spéciaux, testez ces colonnes séparément et ajustez la stratégie plutôt que d'appliquer une normalisation générale.

4. Exécutez le programme une fois, puis vérifiez le résultat.

Exécutez la macro depuis l'éditeur de macros. Comme elle met à jour les cellules de la plage sélectionnée, vérifiez le texte modifié dans la copie de travail avant d'écraser le fichier source. Comparez quelques lignes avec l'original, notamment la première et la dernière ligne de la plage. Assurez-vous que les en-têtes sont restés inchangés, que les formules fonctionnent toujours et que les cellules numériques (dates, devises, identifiants, etc.) n'ont pas été modifiées.

Un tableau ONLYOFFICE avec les colonnes Client, Ville et Statut visibles pour vérification après nettoyage.
Utilisez la feuille de calcul pour vérifier ponctuellement des lignes représentatives et comparez-les avec la copie non modifiée.

Pour une feuille de calcul volumineuse, filtrez ou recherchez les espaces suspects avant et après l'exécution, puis comparez le nombre de lignes. La macro ne supprime pas les lignes, ne déduplique pas les enregistrements, ne convertit pas les dates et ne remplit pas les champs vides ; ces vérifications doivent donc porter sur les valeurs textuelles. Si vous avez besoin d'un historique d'audit visible, ajoutez une colonne de vérification distincte ou copiez les résultats nettoyés dans une feuille de transit plutôt que d'écrire les messages d'état dans une cellule quelconque.

Règles de nettoyage courantes qui nécessitent une décision séparée

  • Enregistrements en double : avant de supprimer des lignes, déterminez les colonnes définissant un doublon et vérifiez la validité des transactions répétées. Deux noms identiques ne représentent pas nécessairement la même personne ou la même commande.
  • Cellules et lignes vides : une cellule vide, un zéro et une valeur textuelle comme « N/A » ont des significations différentes. Ne les remplacez ni ne les supprimez sans règle de données.
  • Dates et nombres stockés sous forme de texte : choisissez d’abord un format et une langue. L’exemple évite de convertir ces valeurs car une chaîne de caractères comme « dates » 03/04/2026est ambiguë selon les régions.
  • Zéros non significatifs : Importez les identifiants sous forme 00127de texte. Si une feuille de calcul les a déjà stockés sous forme de nombres, la suppression des zéros non significatifs ne permettra pas de récupérer les zéros manquants.
  • Normalisation de la casse : Mettre les adresses e-mail en minuscules ou les codes d’état en majuscules peut aider pour certains champs, mais l’appliquer aux noms ou aux descriptions de produits peut détruire la capitalisation voulue.

Utilisez les macros ONLYOFFICE lorsqu'une règle reproductible peut être exprimée avec précision et testée sur une copie. Le système de macros utilise JavaScript et non VBA, est associé à un document et non accessible globalement, et son accès direct au système de fichiers et au réseau est restreint, comme expliqué dans la FAQ des macros ONLYOFFICE . Ce cadre isolé limite les actions qu'une macro peut effectuer en dehors de l'éditeur, mais une macro peut toujours modifier le contenu du classeur. Il est donc essentiel de vérifier et de tester le code avant de l'exécuter.

Pour les importations récurrentes, conservez le script dans un modèle contrôlé ou une copie du document et utilisez une courte liste de vérification : confirmez la feuille active, mettez à jour l’adresse de la plage, excluez les en-têtes et les formules, exécutez sur une copie, vérifiez les chaînes modifiées et comparez le classeur final avec l’original avant de l’enregistrer ou de le partager.

Laisser un commentaire

Qu'est-ce que Microsoft Access ? Comment fonctionnent ses outils de base de données ?

Qu'est-ce que Microsoft Access ? Comment fonctionnent ses outils de base de données ?

Microsoft Access est une application de base de données Windows permettant de stocker des enregistrements liés, de créer des requêtes, de concevoir des formulaires de saisie de données et de générer des rapports. Découvrez son fonctionnement et ses cas d'utilisation.

Importation et exportation depuis Office Outlook 2010 : Déplacer des données avec un fichier PST

Importation et exportation depuis Office Outlook 2010 : Déplacer des données avec un fichier PST

Découvrez comment importer un fichier PST dans Outlook 2010 ou exporter vos e-mails, contacts, calendrier et tâches. Suivez les instructions dans les menus pour éviter les dossiers manquants ou les doublons.

Modifier la hauteur et la largeur du quadrillage dans Word 2010

Modifier la hauteur et la largeur du quadrillage dans Word 2010

Apprenez à ajuster la hauteur et la largeur des lignes de la grille dans Word 2010, à modifier la fréquence des lignes visibles et à définir l'espacement horizontal et vertical de la grille de dessin sous-jacente.

Récupérer un mot de passe PST Outlook avec Nucleus Kernel

Récupérer un mot de passe PST Outlook avec Nucleus Kernel

Récupérez un mot de passe Outlook PST oublié grâce aux étapes actuelles de Kernel, notamment comment identifier le bon fichier, effectuer une sauvegarde et vérifier les limites de l'outil.

Comment insérer une page web interactive dans une diapositive PowerPoint

Comment insérer une page web interactive dans une diapositive PowerPoint

Utilisez le module complémentaire LiveWeb pour placer un site web sur une diapositive PowerPoint, définir sa taille et son comportement d'actualisation, et vérifier la compatibilité avant la présentation.

Ajoutez les jours fériés nationaux à votre calendrier Outlook

Ajoutez les jours fériés nationaux à votre calendrier Outlook

Ajoutez les jours fériés spécifiques à chaque pays dans le nouvel Outlook, Outlook sur le web ou Outlook classique. Découvrez comment éviter les doublons et vérifier si des dates sont manquantes pour 2026-2027.

Contacts Outlook 2010 : Ajouter des personnes et utiliser le carnet d’adresses

Contacts Outlook 2010 : Ajouter des personnes et utiliser le carnet d’adresses

Apprenez à créer et à organiser des contacts Outlook 2010, à constituer un groupe de contacts et à choisir des personnes enregistrées dans le carnet d'adresses lors de la rédaction d'e-mails.

Comment supprimer les métadonnées et le contenu cachés d'un document Word

Comment supprimer les métadonnées et le contenu cachés d'un document Word

Utilisez l'Inspecteur de document de Word pour examiner les informations sur l'auteur, les commentaires, le suivi des modifications, le texte masqué et d'autres données avant de partager un document, et découvrez ce que l'analyse peut manquer.

Histogramme comparatif dans Excel 2010 : Créer un graphique à barres symétriques

Histogramme comparatif dans Excel 2010 : Créer un graphique à barres symétriques

Créez un histogramme comparatif dans Excel 2010 sous forme de graphique à barres symétriques. Conservez les effectifs des sources, alignez les deux groupes autour de zéro et étiquetez clairement les axes.

Access 2010 : Exporter une table de base de données vers Excel 2010

Access 2010 : Exporter une table de base de données vers Excel 2010

Exportez un tableau Access 2010 vers Excel 2010, choisissez d'inclure ou non la mise en forme, enregistrez les étapes d'exportation réutilisables et vérifiez les problèmes courants de transfert de données.