J'attends de pouvoir réussir la 2 ème page pour savoir si je peux continuer le reste sinon ça sert à rien.
j'ai essayer à la place de ceci
If IsNumeric(Range("H7")) And IsNumeric(Range("D7")) And IsNumeric(Range("L7")) And Range("L7") > 0 And Range("D7") > 0 And Range("O7") > 0 Then MACRO1
j'ai mis ça
If IsNumeric(Range("H7")) And IsNumeric(Range("D7")) And IsNumeric(Range("L7")) And Range("L7") > 0 And Range("D7") > 0 And Range("O7") > 0 Then ActiveCell.FormulaR1C1 = _
"=SQRT(((((R[-9]C[4]*R[-9]C[-4])/PI())*1000)+((R[-9]C/2)^2)))*2"
Range("H17").Select
dans ce deuxième code au lieu de mettre "then MACRO1" j'ai mis le bout de code de la macro. Le problème c'est que la macro au lieu de prendre les cellules du départ que je lui avais adressé, elle me décale tout mes chiffre ( R[-9]C[4]*R[-9]C[-4] au lieu de tout simplement D7*L7.
Sharney a écrit :
Bonsoir,
A tester mais je pense qu'aux vues de tes explications, il va falloir mettre toute ta macro dans un If. De plus, je te propose de demander si les valeurs sont différentes de vides plutôt que supérieures à 0.
SI toutes les données sont numériques et <>"" ALORS
on lui demande réaliser le calcul
SINON il alerte via un message d'erreur.
Bonne soirée,
Sha'
Et j'ai aussi modifer le code en mettant le <> ""
If IsNumeric(Range("H7")) And IsNumeric(Range("D7")) And IsNumeric(Range("L7")) And Range("L7") <> "" And Range("D7") <> "" And Range("O7") <> "" Then ActiveCell.FormulaR1C1 = _
"=SQRT(((((R[-9]C[4]*R[-9]C[-4])/PI())*1000)+((R[-9]C/2)^2)))*2"
Range("H17").Select
Donc comment je peux modifier le bout de code de la macro cet à dire
ActiveCell.FormulaR1C1 = _
"=SQRT(((((R[-9]C[4]*R[-9]C[-4])/PI())*1000)+((R[-9]C/2)^2)))*2"
Range("H17").Select
en remplacement (R[-9]C[4]*R[-9]C[-4]) par mes cellules, D7*L7
idem pour (R[-9]C/2) par H7