evilprog
XLDnaute Nouveau
Bonjour à tous et bonne année 2009 !
J'ai un problème sur une validation de données. C'est une formule assez balèze qui me permet de créer une saisie semi-automatique avec liste déroulante.
Elle marche du tonnerre ! par contre si je ferme le fichier et que je l'ouvre à nouveau, je doit repasser par le menu>données>validation et recliquer sur ok pour la faire marcher.
Je me suis dit que je pouvais la lancer automatique à l'ouverture en passant par vba dans le module ThisWorkBook.
Hélas ma formule ne passe pas, ou plutôt je n'arrive pas à la retranscrire (dois-je la mettre en anglais ? (j'ai essayer mais ça ne marche pas vraiment .. ou j'ai peut-être fait des erreurs)
voici la formule en question :
=SI(C2<>"";DECALER(d_noms;EQUIV(C2&"*";l_noms;0)-1;;SOMME((STXT(l_noms;1;NBCAR(C2))=TEXTE(C2;"0"))*1));l_noms)
avec d_noms et l_noms qui sont des plages nommées.
et en anglais sous vba
il me stop sur le "0" au niveau du TEXT(C2,"0") : "Erreur de compilation, attente fin instruction"... donc erreur de syntaxe 😕
Si quelqu'un veut bien m'aider, je reste à disposition pour plus d'info !
Evilprog
++
J'ai un problème sur une validation de données. C'est une formule assez balèze qui me permet de créer une saisie semi-automatique avec liste déroulante.
Elle marche du tonnerre ! par contre si je ferme le fichier et que je l'ouvre à nouveau, je doit repasser par le menu>données>validation et recliquer sur ok pour la faire marcher.
Je me suis dit que je pouvais la lancer automatique à l'ouverture en passant par vba dans le module ThisWorkBook.
Hélas ma formule ne passe pas, ou plutôt je n'arrive pas à la retranscrire (dois-je la mettre en anglais ? (j'ai essayer mais ça ne marche pas vraiment .. ou j'ai peut-être fait des erreurs)
voici la formule en question :
=SI(C2<>"";DECALER(d_noms;EQUIV(C2&"*";l_noms;0)-1;;SOMME((STXT(l_noms;1;NBCAR(C2))=TEXTE(C2;"0"))*1));l_noms)
avec d_noms et l_noms qui sont des plages nommées.
et en anglais sous vba
Code:
With Cells("C2").Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="if(C2<>"",OFFSET(d_noms,MATCH(C2&"*",l_noms,0)-1,,SUM((MID(l_noms,1,LEN(C2))=TEXT(C2,"0"))*1)),l_noms)"
.ShowError = False
End With
il me stop sur le "0" au niveau du TEXT(C2,"0") : "Erreur de compilation, attente fin instruction"... donc erreur de syntaxe 😕
Si quelqu'un veut bien m'aider, je reste à disposition pour plus d'info !
Evilprog
++