Oui — et malheureusement ce que tu observes est très courant, et ce n’est pas une impression : Excel + SharePoint + co-édition + macros + fonctions à propagation = cocktail explosif.
Je te fais un retour structuré, basé sur l’expérience terrain et sur le fonctionnement interne d’Excel.
1. Le vrai problème : la co-édition Excel n’est PAS compatible avec ton usage
La co-édition (SharePoint / Teams) fonctionne correctement uniquement pour des classeurs :
sans VBA ou presque
sans logique événementielle
avec des modifications simples et indépendantes par cellule
Dès que tu as :
des macros événementielles (Worksheet_Change, SelectionChange, Calculate, etc.)
des zones calculées dynamiques
des recalculs automatiques
👉 Excel n’arrive plus à réconcilier les états de calcul entre utilisateurs.
2. Pourquoi les fonctions à spill (TRIER, FILTRER, UNIQUE…) aggravent le problème
Les fonctions à propagation posent deux problèmes majeurs en co-édition.
🔴 2.1 Une formule = plusieurs cellules modifiées
Quand un utilisateur modifie une seule cellule source, Excel :
recalcule la formule
réécrit potentiellement toute la plage de spill
verrouille temporairement plusieurs cellules adjacentes
Pour Excel en co-édition :
“Un utilisateur modifie une cellule, mais 15 autres changent aussi sans action directe”
➡️ conflit de fusion quasi garanti si un autre utilisateur touche une des cellules concernées.
🔴 2.2 Les plages de spill ne sont pas déterministes entre utilisateurs
Selon :
l’ordre des recalculs
les filtres appliqués
l’état du cache local
les événements VBA déclenchés
Deux utilisateurs peuvent :
avoir la même formule
mais une plage de spill légèrement différente
👉 SharePoint voit ça comme des versions concurrentes incompatibles.
3. Les macros événementielles : le clou dans le cercueil
Les événements VBA sont exécutés localement sur chaque poste :
Chaque utilisateur déclenche les macros
Chaque macro peut écrire dans le classeur
SharePoint reçoit des modifications simultanées non coordonnées
Exemples typiques de conflits :
une macro qui trie
une macro qui nettoie une zone
une macro qui écrit des timestamps
une macro qui force un recalcul ou un .Calculate
➡️ Excel n’a aucun mécanisme de lock global entre utilisateurs.
4. Ce qui génère concrètement les “merge conflicts”
SharePoint n’est pas “cassé” — il fait ce qu’il peut.
Il voit :
même fichier
même feuille
mêmes cellules
modifiées en parallèle
avec des dépendances calculées invisibles pour lui
Donc il dit :
« Je ne peux pas deviner laquelle des deux versions est la bonne »
5. Ce que tu peux faire (solutions réalistes)
🟢 Option 1 – Séparer saisie et calcul (la plus robuste)
Architecture classique multi-utilisateurs :
Fichier A (SharePoint, co-éditable)
saisie uniquement
pas de macros
pas de spill
Fichier B (local ou partagé en lecture seule)
calculs
macros
reporting
refresh à la demande
👉 C’est LA solution la plus utilisée en entreprise.
🟡 Option 2 – Supprimer les spills dans les zones partagées
Remplacer TRIER, FILTRER, etc. par :
Power Query
Tableaux structurés
calculs figés (copier / coller valeurs)
Réserver les spills à des feuilles non touchées par les utilisateurs
🟡 Option 3 – Désactiver la co-édition (souvent oublié)
Dans SharePoint / OneDrive :
forcer l’ouverture en mode exclusif
ou demander aux utilisateurs d’ouvrir dans l’application desktop, pas dans Excel Online
➡️ plus de conflits, mais plus de simultanéité.
🔵 Option 4 – Passer par Power Platform / Access / SQL
Si le besoin est réellement multi-utilisateur :
Excel devient une mauvaise base de données
SharePoint Lists, Dataverse, SQL + Excel en front sont plus adaptés
6. Réponse courte à ta question
« J’ai l’impression que ce sont les fonctions à spill qui provoquent ça »
👉 Oui, clairement, mais :
elles ne sont pas seules
c’est surtout leur interaction avec la co-édition et le VBA qui est toxique
Partager