re,
Oui, j'ai essayé en vidant les cellules avec une macro associée à un bouton sur le fichier original, avec la touche retour, avec click droit "effacer le contenu",... rien n'y fait.
J'ai essayé de contourner la chôse avec une maccro qui se lancerais à l'ouverture du classeur et irai re valider automatiquement les données, donc ne sachant pas trop comment m'y prendre, j'ai fais cela avec l'enregistreuse de macro ce qui me donne ce code :
Sub Workbook_Open()
Range("D5").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= _
"=SI(D5<>"""";DECALER(d_noms;EQUIV(D5&""*"";l_noms;0)-1;;SOMME((STXT(l_noms;1;NBCAR(D5))=TEXTE(D5;""0""))*1));l_noms)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = False
.ShowError = False
End With
Range("G5:H5").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= _
"=SI(G5<>"""";DECALER(e_noms;EQUIV(G5&""*"";g_noms;0)-1;;SOMME((STXT(g_noms;1;NBCAR(G5))=TEXTE(G5;""0""))*1));g_noms)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With
End Sub
A l'ouverture du classeur ce code me donne une erreur d'execution car comme tu peux le voir, l'enregistreuse a automatiquement doublé toutes les " de mes deux formules.
Et si j'enlève les "" superflues, Excel m'indique qu'il attend une fin d'instruction car il ne doit plus réussir à savoir ce qui fait parti de la formule ou non :
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= _
"=SI(D5<>"";DECALER(d_noms;EQUIV(D5&"*";l_noms;0)-1;;SOMME((STXT(l_noms;1;NBCAR(D5))=TEXTE(D5;"0"))*1));l_noms)"
(sur le 0 de "0")
@Nad Est-ce ce problème là dont tu parles ?