Introduction

SharePoint Online limite à 5 000 le nombre d'éléments qu'une même requête peut parcourir - c'est le seuil d'affichage de liste (list view threshold). Cette limite ne concerne ni le nombre d'éléments que contient une liste ni le nombre de lignes affichées par page : une liste de 50 000 éléments peut fonctionner correctement lorsque les requêtes utilisent un filtre indexé suffisamment sélectif et respectent les autres limites de SharePoint. En revanche, un filtre sur une colonne sans index oblige SharePoint à parcourir toute la liste, et dès que la liste dépasse 5 000 éléments, SharePoint refuse la requête au lieu de l'exécuter. Pour les utilisateurs de List Filter Online, cela se traduit par une erreur ou un résultat vide dès l'application d'un filtre donné.

Cet article explique l'effet du seuil sur le volet de filtrage, sur les filtres d'en-tête de colonne et sur le filtre prédéfini du composant WebPart, comment le composant WebPart signale les colonnes de filtre qui nécessitent un index et le crée pour vous, comment ajouter un index dans les paramètres de la liste à la place, et quelles règles permettent de maintenir les filtres, le tri et le regroupement sous la limite. Le volet de filtrage lui-même est décrit dans KB10255. Contrôles du volet de filtrage et types de colonnes pris en charge dans List Filter Online.

Effet du seuil sur le filtrage

List Filter Online lit les éléments via l'API REST native de SharePoint, avec une requête CAML qui combine le filtre prédéfini de l'administrateur, les conditions du volet de filtrage et les filtres d'en-tête de colonne, ainsi que le tri et le regroupement configurés dans le volet des propriétés. SharePoint vérifie chacune de ces requêtes par rapport au seuil :

  • une condition sur une colonne indexée permet à SharePoint de sélectionner directement les lignes correspondantes, ce qui permet d'interroger de grandes listes si la condition indexée est suffisamment sélective ;
  • une condition sur une colonne non indexée exige le parcours de tous les éléments ; sur une liste de plus de 5 000 éléments, SharePoint renvoie une erreur, et le composant WebPart affiche Oups ! Un problème est survenu. accompagné du message renvoyé par SharePoint ;
  • le tri ou le regroupement sur une colonne non indexée produit le même effet, car les lignes doivent être ordonnées avant que la première page puisse être renvoyée ;
  • les listes de valeurs des contrôles Liste déroulante et du filtre d'en-tête de colonne sont aussi des requêtes ; lorsque SharePoint les refuse, le contrôle n'affiche tout simplement aucune valeur.

La Limitation des lignes du composant WebPart (de 1 à 1 000 lignes par page) n'y change rien. Elle limite les lignes renvoyées, et non les lignes que SharePoint doit examiner pour les trouver.

L'erreur de seuil affichée par le composant WebPart

L'erreur de seuil affichée par le composant WebPart

📝 Remarque
Les vues natives et le composant WebPart sont soumis aux limites des requêtes SharePoint, mais leurs requêtes peuvent différer. Un index seul ne garantit pas le succès : vérifiez aussi les opérateurs, les autres conditions et le nombre d’éléments correspondants.

Les erreurs de parcours complet décrites ci-dessus concernent les requêtes qui ne sont pas d’abord réduites par une condition indexée sélective. L’index d’une colonne de recherche ne résout pas le problème de seuil ; utilisez un autre type de colonne pour cette condition initiale. Microsoft.

Comment List Filter Online vous aide

Lorsque la liste sélectionnée dans le groupe Source de données compte plus de 5 000 éléments, le configurateur du volet de filtrage vérifie chaque colonne que vous sélectionnez pour le volet. Une colonne non indexée, et dont le type peut être indexé, est signalée à deux endroits :

  • dans le groupe Volet de filtre du volet des propriétés, sous Colonnes sélectionnées :, une barre d'avertissement répertorie les colonnes concernées : « Type de contrat, Client : La colonne n'est pas indexée. Le filtrage d'une grande liste par cette colonne peut ne pas fonctionner. » ;
  • dans le panneau Colonnes ouvert avec Sélectionner les colonnes, une icône d'avertissement jaune apparaît à côté du nom de chaque colonne concernée. Son infobulle répète l'avertissement et se termine par Créer un index.

Un clic sur l'icône d'avertissement crée l'index : le composant WebPart définit la propriété Indexed de la colonne via l'API REST, l'icône disparaît dès que SharePoint confirme, et la colonne quitte la barre d'avertissement. Si SharePoint rejette la modification, le volet des propriétés affiche Une erreur inattendue s'est produite. ; les causes habituelles sont énumérées dans le tableau à la fin de cet article.

L'avertissement sur les colonnes de filtre non indexées dans le volet des propriétés

L'avertissement sur les colonnes de filtre non indexées dans le volet des propriétés

La vérification obéit aux règles suivantes :

  • l'avertissement n'apparaît que pour les listes dont le nombre d'éléments, tel que SharePoint le signale au chargement du volet des propriétés, dépasse 5 000 ; sur les listes plus petites, rien n'est affiché, même pour des colonnes non indexées ;
  • seules les colonnes cochées dans la colonne Afficher du configurateur sont examinées ;
  • les colonnes dont le type ne peut pas être indexé par SharePoint - texte sur plusieurs lignes, calculée, choix à sélection multiple et colonne Pièces jointes - ne sont jamais signalées ;
  • l'index est créé dans la liste de l'autre site lorsque le composant WebPart affiche des données provenant d'un autre site.

Outre le volet de filtrage, le configurateur de colonnes du groupe Source de données (Sélectionner les colonnes) affiche l'état d'indexation de chaque colonne lorsque Activer le mode Développeur est activé dans le groupe Outils de développement : une icône de compteur de vitesse devant le nom de la colonne est verte avec l'infobulle (Indexé) ou rouge avec l'infobulle (Non indexé). Utilisez-la pour passer en revue les colonnes que vous prévoyez de trier ou de regrouper, ce que la vérification du volet de filtrage ne couvre pas.

État d'indexation des colonnes en mode développeur

État d'indexation des colonnes en mode développeur

❗ Important
La création d'un index modifie la liste, et non le composant WebPart. L'utilisateur qui clique sur Créer un index doit avoir l'autorisation de gérer la liste - le niveau d'autorisation Modification, Conception ou Contrôle total sur la liste - sinon SharePoint rejette la demande. Une liste peut contenir au maximum 20 colonnes indexées. Le composant WebPart ne vérifie pas ces conditions à l'avance ; il rapporte le résultat renvoyé par SharePoint.

Créer les index depuis le configurateur

  1. Ouvrez la page en mode édition et ouvrez le volet des propriétés du composant WebPart List Filter.
  2. Développez le groupe Volet de filtre. Si la liste compte plus de 5 000 éléments et que certaines des colonnes sélectionnées ne sont pas indexées, la barre d'avertissement située sous Colonnes sélectionnées : les nomme.
  3. Cliquez sur Sélectionner les colonnes. Dans le panneau Colonnes, repérez les colonnes dotées de l'icône d'avertissement jaune.
  4. Cliquez sur l'icône de la première colonne. L'icône est désactivée pendant l'exécution de la requête et disparaît lorsque l'index a été créé.
  5. Répétez l'opération pour les autres colonnes signalées, puis cliquez sur Enregistrer (ou sur Annuler si vous n'avez rien modifié d'autre - les index sont déjà créés).
  6. Vérifiez que la barre d'avertissement sous Colonnes sélectionnées : a disparu, republiez la page et appliquez les filtres qui échouaient auparavant.

L'icône Créer un index dans le configurateur du volet de filtrage

L'icône Créer un index dans le configurateur du volet de filtrage

Alternative : créer l'index dans les paramètres de la liste

Le même index peut être créé dans SharePoint lui-même, ce qui est la seule solution pour les colonnes utilisées dans le tri, le regroupement ou le filtre prédéfini, puisque le configurateur ne vérifie que les colonnes du volet de filtrage.

  1. Ouvrez la liste ou la bibliothèque et choisissez Paramètres → Paramètres de la liste (ou Paramètres de la bibliothèque) dans le menu en forme d'engrenage.
  2. Dans la section Colonnes, cliquez sur Colonnes indexées.
  3. Cliquez sur Créer un nouvel index.
  4. Sélectionnez la colonne comme Colonne principale pour cet index et cliquez sur Créer.
  5. Répétez l'opération pour chaque colonne utilisée dans les filtres, le tri ou le regroupement, dans la limite de 20 index par liste.

La page Colonnes indexées des paramètres de la liste

La page Colonnes indexées des paramètres de la liste

SharePoint Online peut indexer les types de colonnes suivants : texte sur une seule ligne, choix (sélection unique), nombre, devise, date et heure, oui/non, recherche (valeur unique), personne ou groupe (valeur unique) et métadonnées gérées (valeur unique). Il ne peut pas indexer les colonnes de texte sur plusieurs lignes, de choix à sélection multiple, de recherche à valeurs multiples, de personne ou groupe à sélection multiple, de métadonnées gérées à valeurs multiples, calculées, ni les colonnes de type lien hypertexte ou image. Sur les grandes listes, la création d’un index peut prendre du temps. Vérifiez son état dans Colonnes indexées avant de réessayer.

Concevoir des filtres pour les grandes listes

Un index rend une condition isolée rapide ; c'est la conception de l'ensemble de la requête qui détermine si la liste reste utilisable à mesure qu'elle grandit.

Commencez le filtre prédéfini par une colonne indexée. Dans le Query Builder du groupe Filtrer, faites de la première condition du groupe de niveau supérieur une comparaison sur une colonne indexée qui, à elle seule, laisse moins de 5 000 éléments - un statut, une année, un service. SharePoint utilise la première condition indexée pour réduire l'ensemble avant d'évaluer le reste ; les conditions sur des colonnes non indexées sont acceptables après elle. Préférez AND pour réduire l’ensemble initial ; indexer toutes les branches OR ne garantit pas le respect du seuil.

Choisissez des contrôles qui produisent des comparaisons compatibles avec les index. Eq, Neq, In, Geq, Leq, Gt, Lt et BeginsWith peuvent utiliser un index ; Contains ne le peut pas. Dans le volet de filtrage, cela signifie Liste déroulante, Liste déroulante (Valeurs multiples), Personne ou groupe, Sélecteur de dates, Plage de dates, Date relative, Plage numérique et Oui/Non plutôt que Texte, et Égal à ou Commence par plutôt que Contient dans Texte (avec options). Le contrôle Terme utilise également Contains et doit être remplacé par Liste déroulante sur les grandes listes.

Vérifiez les filtres restaurés. Les contrôles de date démarrent sans condition. Un filtre enregistré, un lien ou un filtre mémorisé peut appliquer des conditions à l’ouverture de la page ; vérifiez-les avec la requête prédéfinie.

Triez et regroupez selon des colonnes indexées. Les groupes Trier par et Grouper par acceptent n'importe quelle colonne ; sur une grande liste, choisissez des colonnes indexées et privilégiez un seul niveau de regroupement. N'oubliez pas que l'utilisateur peut aussi trier depuis le menu d'en-tête de chaque colonne marquée Tri possible - décochez l'option pour les colonnes non indexées d'une grande liste.

Gardez les filtres d'en-tête de colonne sur des colonnes indexées. L'option Filtrable d'une colonne charge les valeurs distinctes de la colonne pour son menu d'en-tête ; sur une grande liste, ne la laissez activée que pour les colonnes indexées.

Utilisez les dossiers et la limite de lignes pour ce qu'ils sont. L'affichage des éléments à l'intérieur des dossiers (une option du groupe Dossiers) interroge un dossier à la fois, ce qui permet souvent de garder chaque requête sous la limite même sans index. Une Limitation des lignes faible avec pagination allège la page mais ne remplace pas un index.

💡 Astuce
Activez Activer le mode Développeur pendant que vous concevez les filtres : la commande Requête CAML de la barre d'outils affiche la requête exacte envoyée par le composant WebPart, ce qui vous permet de voir quelles comparaisons et quelles colonnes sont impliquées et de les comparer aux colonnes indexées de la liste.

Symptômes et solutions

SymptômeCauseSolution
Oups ! Un problème est survenu. avec un message SharePoint sur le seuil d'affichage de liste dès qu'un filtre est appliquéLa condition de filtre utilise une colonne non indexée, ou la première condition ne réduit pas la liste en dessous de 5 000 élémentsCréez un index sur la colonne ; placez une condition indexée au début du filtre prédéfini
La même erreur apparaît sans aucun filtre utilisateur, juste après l'ouverture de la pageLa requête prédéfinie, le tri, le regroupement ou les filtres restaurés doivent être vérifiésIndexez les colonnes utilisées dans Filtrer, Trier par et Grouper par ; remplacez le contrôle ou indexez sa colonne
Une liste déroulante ou un filtre d’en-tête n’affiche aucune valeur de colonneSharePoint a refusé la requête qui charge les valeurs distinctes de la colonneCréez un index sur la colonne
Le filtre fonctionne pour certaines valeurs et échoue pour d'autresUne valeur qui correspond à plus de 5 000 éléments laisse le reste de la requête sans indexAjoutez une condition indexée au filtre prédéfini ou au volet afin de réduire davantage le résultat
Un clic sur l'icône d'avertissement se termine par Une erreur inattendue s'est produite.L'utilisateur ne peut pas gérer la liste, la liste compte déjà 20 index, ou le type de la colonne ne peut pas être indexéDemandez à un propriétaire de la liste de créer l'index ; supprimez les index inutilisés dans Colonnes indexées ; choisissez une autre colonne ou un autre contrôle
Une colonne non indexée n'affiche aucun avertissementLa liste compte 5 000 éléments ou moins, ou le type de la colonne ne peut pas être indexéAucune action n'est requise tant que la liste ne grandit pas ; pour les types non indexables, choisissez une colonne indexable pour le filtre
L'index a été créé, mais le filtre échoue toujoursSharePoint est encore en train de construire l'index sur une grande listePatientez et réessayez plus tard

Questions et réponses

Posez une question sur cet article et obtenez une réponse officielle de notre équipe.

Aucune question pour le moment. Posez la première !

Articles à la une

Catalogue d'applications du locataire ou de la collection de sites : où déployer les applications Vitextra

Référence pour les administrateurs SharePoint : les différences entre le catalogue d'applications du locataire et un catalogue d'applications de collection de sites dans SharePoint Online, l'incidence de chacun sur le déploiement des produits Vitextra SPFx - disponibilité sur les sites, déploiement à l'échelle du locataire, autorisations d'API, Microsoft Teams, mises à jour et licences - et quel catalogue choisir.

53 8 min
Comment désigner un remplaçant lorsque vous demandez un congé

Découvrez comment choisir un remplaçant dans une demande d'absence du composant WebPart Vitextra My Absences : quand le remplacement est créé, pourquoi le collègue doit le confirmer, ce qui se passe si la demande est refusée ou annulée et en quoi cela diffère de l'affectation d'un remplaçant dans le composant WebPart Substitutions.

67 4 min
Comment ajouter le logo de votre entreprise à un code QR

Pas à pas : chargez un logo JPG, PNG ou SVG dans le composant WebPart Vitextra QR Code Generator, ajustez la taille et la marge du logo, augmentez le niveau de correction d'erreurs pour que le code reste lisible, puis supprimez ou remplacez le logo.

88 4 min

Partager