La Pistoule
XLDnaute Nouveau
Bonjour a tous,
Devant reproduire en VBA une action sur plusieurs cellules, j'ai effectué par enregistrement de macros (sub macro3 ci dessous) le déroulé de l'action souhaitée qui fonctionne parfaitement...
Par contre quand je la relance, elle plante avec une erreur sur la formule saisie : run time error 1004 application defined or object defined error...
Pour info il s'agit d'une validation de cellule avec formule intégré (qui fonctionne parfaitement en direct!)
De memoire j'ai déja eu des pbs avec les formules, car j'utilise une version américaine de Excel 2003, avec pack français, ce qui fait que j'utilise d'habitude FormulaLocal et non Formula seul, mais je ne sais pas comment proceder dans ce cas de validation.
Un grand merci pour votre aide !
Sub Macro3()
Range("G5").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= _
"=SI(D5<>"""";DECALER(Liste_SOCIETES;EQUIV(D3&""*"";Liste_SOCIETES;0)-1;;SOMMEPROD((STXT(Liste_SOCIETES;1;NBCAR(D5))=TEXTE(D5;""0""))*1));Liste_SOCIETES)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With
End Sub
Pour info : cette formule dans un cas de validation permet l'affichage que de la partie d'une liste longue correspondante a la saisie du début du champ, très pratique !
Devant reproduire en VBA une action sur plusieurs cellules, j'ai effectué par enregistrement de macros (sub macro3 ci dessous) le déroulé de l'action souhaitée qui fonctionne parfaitement...
Par contre quand je la relance, elle plante avec une erreur sur la formule saisie : run time error 1004 application defined or object defined error...
Pour info il s'agit d'une validation de cellule avec formule intégré (qui fonctionne parfaitement en direct!)
De memoire j'ai déja eu des pbs avec les formules, car j'utilise une version américaine de Excel 2003, avec pack français, ce qui fait que j'utilise d'habitude FormulaLocal et non Formula seul, mais je ne sais pas comment proceder dans ce cas de validation.
Un grand merci pour votre aide !
Sub Macro3()
Range("G5").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= _
"=SI(D5<>"""";DECALER(Liste_SOCIETES;EQUIV(D3&""*"";Liste_SOCIETES;0)-1;;SOMMEPROD((STXT(Liste_SOCIETES;1;NBCAR(D5))=TEXTE(D5;""0""))*1));Liste_SOCIETES)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With
End Sub
Pour info : cette formule dans un cas de validation permet l'affichage que de la partie d'une liste longue correspondante a la saisie du début du champ, très pratique !