Formule à moitié évolutive

T

Thibaut

Guest
Bonjour à tous... et bon appétit à ceux qui sont occupés de manger (il est 12h31)...
J ai une petite question à vous soumettre... Pour une macro je dois faire apparaitre un userform avec deux choix (que j ai déjà réalisé)... Si l on clique sur l un des boutons, certaines formules doivente apparaitre dans certaines cellules et si on appuie sur l autre, ce sont d autres formules qui doivent y apparaitre... Mais voila, il n est pas possible de faire une étendue de sélexion avec copie de formule car une partie de celle-ci doit rester identique... je m explique:
Je sélectionne la cellule AH6

La formule est: If(0<C2-AG6; C2-AG6; 0)

en AH7, la formule doit être : If(0<C2-AG7; C2-AG7; 0)
et ainsi de suite... donc, le C2 doit rester, c est uniquement l autre référence qui doit changer... Or, quand on fait une étendue de sélection, le C2 devient C3 et ainsi de suite... comment puis-je faire pour palier cette erreur...

Pour la sélection des actions à réaliser si j appuies sur tel ou tel bouton, je suppose que je dois faire:

Userform2.show

If rep = button1 then

(je tape ici les formules à réaliser)

End if

If rep = button2 then

(je tape ici les autres formules à réaliser)

End if


D avance un grand merci à toute personne qui pourra m aider
Bonne journée
 
T

Thibaut

Guest
euh... en gros ma formule doit rssembler à ceci

Range("AH8:AH370").Select
ActiveCell.FormulaR1C1 "=IF(0<$C$2-AG**;$C$2-AG**;0)"

mis à part que je ne sais pas ce que je dois mettre à la place des ** pour qu il adapte automatiquement la valeur (le chiffre doit être le même que la ligne à laquelle correspond la cellule)
 
T

Thibaut

Guest
J ai encore un petit problème...
Lorsque j exécute la macro, il bloque sur le "formulaR1C1"... pq???

Range("AH6").Select
ActiveCell.FormulaR1C1 "=IF(0<$C$2-AG6;$C$2-AG6;0)"
Range("AH6").Select
Selection.AutoFill Destination:=Range("AH6:AH370"), Type:=xlFillDefault
 
@

@Christophe@

Guest
Bonsoir a tous

Thibaut, essaye cela, cela devrait marché

Range("AH6").Formula = "=IF(0<R2C3-R[3]C[-1],R2C3-R[3]C[-1],0)"
Range("AH6").Select
Selection.AutoFill Destination:=Range("AH6:AH370"), Type:=xlFillDefault


@Christophe@
 

Discussions similaires

Réponses
8
Affichages
770
Réponses
18
Affichages
1 K
Réponses
1
Affichages
1 K

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 182
dernier inscrit
savio