SharePoint 2010 permet d’effectuer de la validation sur les colonnes d’une liste.
Cette validation passe par l’écriture d’une formule équivalent aux formules d’Excel.
Dans mon cas je cherchais à reproduire le même environnement d’un client, qui lui était sous SharePoint 2010 Anglais vers une version Française.
La formule initiale permettait de vérifier si sur une colonne personnalisée de la liste de document, la valeur était de type Date (plutôt année).
=IF(AND(ISNUMBER(INT(Year)),INT(Year)<=2999,INT(Year)>=1900),TRUE,FALSE)
Si la valeur ne remplit pas cette condition, un message d’erreur (que l’on peut personnalisé) est affiché.
Sur mon environnement FR, j’ai passé pas mal de temps à traduire cette formule
l’équivalent français est donc:
=SI(ET(ESTNUM(ENT(Year));ENT(Year)<=2999;ENT(Year)>=1900);VRAI;FAUX)
D’après l’article MSDN http://msdn.microsoft.com/fr-fr/library/bb862071.aspx, ils se sont trompés sur le séparateur de paramètres…
Pour résumer:
Séparateur dans les formules SharePoint EN : « , »
Séparateur dans les formules SharePoint FR : « ; »
10/10/2011 à 15:55
Ah oui je confirme, toutes les formules avec des paramètres sont avec des point-virgules et non des virgules, j’ai cherché longtemps !!!!!!
26/04/2012 à 16:01
Merci Microsoft !
Pour mettre au point une formule sous SP c’est la galère. J’ai mis ma formule au point dans un fichier Excel, je la recopie dans la colonne caluclé SP et « erreur de syntaxe » et avec çà débrouilles toi !
Voici ma formule Excel :
=SI(B8>C8;SIERREUR(DATEDIF(C8;B8; »d »)& » jours de retard »; » »);SIERREUR(DATEDIF(B8;C8; »d »)& » jours d’avance »; » »))
ma traduction sous SP :
=SI([Date]>[Echéance];SIERREUR(DATEDIF([Echéance];[Date]; »d »)& » jours de retard »; » »);SIERREUR(DATEDIF([Date];[Echéance]; »d »)& » jours d’avance »; » »))
Comment traduire sous SP ?
Merci
26/04/2012 à 16:41
Bonjour
Dans une liste SharePoint je veux calculer le nb de jour de retard (ou d’avance) pour la réalisation d’une tache.
J’ai testé ma formule dans un fichier Excel :
=SI(B8>C8;SIERREUR(DATEDIF(C8;B8; »d »)& » jours de retard »; » »);SIERREUR(DATEDIF(B8;C8; »d »)& » jours d’avance »; » »))
Sous SP cela donne :
=SI([date du jour]>[Echéance];SIERREUR(DATEDIF([Echéance];[date du jour]; »d »)& » jours de retard »; » »);SIERREUR(DATEDIF([date du jour];[Echéance]; »d »)& » jours d’avance »; » »))
et j’ai une erreur de syntaxe et pour debugger c’est la galère.
Merci
Raymond Odent
04/09/2012 à 11:24
Salut, désolé pour la réponse tardive….
oui c’est un peu galère les formules SP. Même si c’est minime, le site de référence est celui-ci http://msdn.microsoft.com/en-us/library/bb862071.aspx
l’erreur peut surement venir des libellé des colonnes… je ne pense pas que les accents et autres caractères soient supportés. Essaies avec les identifiants de colonnes.
Wil