fanch55
XLDnaute Barbatruc
Bonjour à tous,
Je suis resté près d'une demi-journée à me demander pourquoi en tentant de faire un range.validation.add, je me heurtais systématiquement à une erreur 1004 . 😖
Pourtant, le code que j'exécutais avait été construit par l'enregistreur de macro , et ce code aboutissait également à une erreur 1004 .🥳
	
	
	
	
	
		
Après moult consultations de différents forums, j'ai remarqué que les utilisateurs anglophones avaient rarement ce type d'erreur .
J'ai donc tenté de "traduire" la formule : 🥵
	
	
	
	
	
		
code qui provoquait toujours une erreur 1004 ...😖
puis je me suis souvenu qu'en Excel Anglophone, le caractère ";" n'était pas le délimiteur standard, mais le caractère "," (virgule)🤔
	
	
	
	
	
		
Code qui à ma plus grande satisfaction se déroule correctement .... 😁
Que de temps perdu pour une particularité non indiquée dans les aides de Microsoft !!!! 😩
	
		
			
		
		
	
				
			Je suis resté près d'une demi-journée à me demander pourquoi en tentant de faire un range.validation.add, je me heurtais systématiquement à une erreur 1004 . 😖
Pourtant, le code que j'exécutais avait été construit par l'enregistreur de macro , et ce code aboutissait également à une erreur 1004 .🥳
		VB:
	
	
	Exemple:
        .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
            Formula1:="=ET(SOMME($B4:$D4)<=$B$2;OU(B4="""";ESTNUM(B4));MOD(B4;0.5)=0)"J'ai donc tenté de "traduire" la formule : 🥵
		VB:
	
	
	        .Add xlValidateCustom, xlValidAlertStop, xlBetween, _
            "=AND(SUM($B4:$D4)<=$B$2;OR(B4="""";ISNUMBER(B4));MOD(B4;0.5)=0)"puis je me suis souvenu qu'en Excel Anglophone, le caractère ";" n'était pas le délimiteur standard, mais le caractère "," (virgule)🤔
		VB:
	
	
	    With Range("B4").Validation
        .Add xlValidateCustom, xlValidAlertStop, xlBetween, _
            "=AND(SUM($B4:$D4)<=$B$2,OR(B4="""",ISNUMBER(B4)),MOD(B4,0.5)=0)"
        .IgnoreBlank = True: .InCellDropdown = True
        .InputTitle = "": .InputMessage = "": .ShowInput = True
        .ErrorTitle = "": .ErrorMessage = "": .ShowError = True
    End WithCode qui à ma plus grande satisfaction se déroule correctement .... 😁
Que de temps perdu pour une particularité non indiquée dans les aides de Microsoft !!!! 😩
 
	 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		