web-dev-qa-db-fra.com

Existe-t-il une alternative fiable à IMPORTRANGE ()?

Après un certain temps, la formule est interrompue et affiche Error: Loading data.... Elle ne fonctionnera pas tant que je ne modifierai rien dans les paramètres, par exemple. Sheet1!a3:Ag à Sheet1!a3:AG, puis cela dure quelques jours, puis se brise à nouveau avec la même erreur.

J'ai essayé la fonction personnalisée myImportrange:

// to be used in the spreadsheet like ImportRange, 
// i.e. like this: =myImportRange( "key" ; "sheet!range" ; GoogleClock() )
// the third parameter - GoogleClock() - triggers an automatic update every minute.
// updated 2011-07-17 (ahab): better regex to strip sheetname of *outer* single quotes
function myImportRange(key ,sheetrange) { 
 var shra = sheetrange.split("!") ;
 if (shra.length==1) shra[1]=shra[0], shra[0]="";  

 var sheetstring = shra[0].replace( /^'(.*)'$/g , "$1") // was: replace( /'/g , "") ; updated 2011-07-17 (ahab)
 var rangestring = shra[1] 

 var source = SpreadsheetApp.openById( key )    
 if ( sheetstring.length==0 ) sheet = source.getSheets()[0] ;
 else sheet = source.getSheetByName( sheetstring ) ;

 return  sheet.getRange( rangestring ).getValues(); 
}

Mais finalement reçu la même erreur.

2
Gleb

De Migration vers les nouvelles feuilles de Google

Les arguments des fonctions personnalisées doivent être déterministes

Les fonctions de feuille de calcul intégrées qui renvoient un résultat différent chaque fois qu'elles calculent, telles que NOW () ou Rand (), ne sont pas autorisées en tant qu'arguments d'une fonction personnalisée dans la nouvelle version de Sheets. Si une fonction personnalisée tente de renvoyer une valeur basée sur une fonction intégrée volatile, elle affichera Loading ... indéfiniment.

1
Rubén