Salut,
j’ai un cas d’usage un peu équivalent. quotidien j’ai un un workflow webmethods qui me pose sur un sharepoint des csv en provenance de SAP. une fois posé, j’ai un dataflow qui transforme mes csv, mais a priori ton tableau excel doit déjà être propre.
A partir de la table propre générée par le dataflow, j’ai un power automate qui fait le transfert des lignes de la table dans une liste sharepoint.
Le connecteur Sharepoint dans power apps a la même limitation de 2k lignes MAIS, il existe une ruse qui fonctionne très bien pour moi, c’est en production depuis 2 mois et j’en suis très content, pour un liste SP de 5K lignes
je te fait un copier coller bête et méchant de la fonction App OnStart que j’ai
<div>
<div>// Pour contourner les problèmes de délégation SP <-> Power Apps, on utilise une collection de la liste SP. Pour outre-passer la limite théorique de 2000 items dans une collection venant de SP, on segmente la liste SP en plusieurs collection, basées sur la colonne INDEX de LUMIS_MATERIAL, puis on concatene toutes ces sous collections en 1 qui nous sert ensuite dans la listbox “ArticleMultiCrit”, pour filtrer à la fois dans Material Description & Texte Long, sinon sans cette ruse, problème de délégation !</div>
<div>// Étape 1 : Collecte simultanée des données en blocs de 2000 et 1000</div>
<div> Concurrent(</div>
<div> Collect(ColMaterial_1, ShowColumns(Filter(LUMIS_MATERIAL, Index_ID <= 2000), Material, ‘Material description’,’Basic material’, Fabricant, Référence, Bin, ‘Texte Long’,’Groupe Gestionnaire’)),</div>
<div> Collect(ColMaterial_2, ShowColumns(Filter(LUMIS_MATERIAL, Index_ID > 2000 && Index_ID <= 4000), Material, ‘Material description’, ‘Basic material’, Fabricant, Référence, Bin, ‘Texte Long’,’Groupe Gestionnaire’)),</div>
<div> Collect(ColMaterial_3, ShowColumns(Filter(LUMIS_MATERIAL, Index_ID > 4000 && Index_ID <= 5000), Material, ‘Material description’, ‘Basic material’, Fabricant, Référence, Bin, ‘Texte Long’,’Groupe Gestionnaire’))</div>
<div> );</div>
<div>// Étape 2 : Fusionner les collections individuelles en une seule</div>
<div> ClearCollect(ColMaterial, ColMaterial_1, ColMaterial_2, ColMaterial_3);</div>
<div>// Étape 3 : Supprimer les collections temporaires</div>
<div> Clear(ColMaterial_1); Clear(ColMaterial_2); Clear(ColMaterial_3);</div>
<div>// pour outre-passer la limite théorique de 2000 items dans une collection venant de SP, on segmente la liste SP en plusieurs collection, basées sur la colonne INDEX de LUMIS_NOMENC, puis on concatene toutes ces sous collections en 1</div>
<div>// Étape 1 : Collecte simultanée des données en blocs de 2000 et 1000</div>
<div> Concurrent(</div>
<div> Collect(ColNomenc_1, Filter(LUMIS_NOMENC, Index_ID <= 2000)),</div>
<div> Collect(ColNomenc_2, Filter(LUMIS_NOMENC, Index_ID > 2000 && Index_ID <= 4000)),</div>
<div> Collect(ColNomenc_3, Filter(LUMIS_NOMENC, Index_ID > 4000 && Index_ID <= 5000))</div>
<div> );</div>
<div>// Étape 2 : Fusionner les collections individuelles en une seule</div>
<div> ClearCollect(ColNomenc, ColNomenc_1, ColNomenc_2, ColNomenc_3);</div>
<div>// Étape 3 : Supprimer les collections temporaires</div>
<div> Clear(ColNomenc_1); Clear(ColNomenc_2); Clear(ColNomenc_3);</div>
<div> </div>
<div>En résumé, tu collectes en plusieurs morceaux de ta ou tes sources de données (j’en ai 2), puis tu la concatene en 1 grosse collection. je sais que les puristes du forums te diront de ne surtout pas le faire et je comprends, on est clairement pas dans les règles de l’art, et les effets de bord doivent exister.</div>
<div> </div>
</div>