Je sais que ma formule marche parfaitement quand j'écris:
ActiveCell.FormulaR1C1 = "=R[-7]C[1] - R[-7]C[7]"
Cependant cela ne marche que pour un exemple....
Je précise que je souhaite avoir la différence "en temps réels"
lorsque je modifierai les valeurs des deux cellules ( dans l'exemple
B13 et J13)
En conclusion, je coince et je n'arrive pas à repérer l'erreur(
car je suis novice en la matière :D) et une aide ne serait pas superflu
, j'espère que j'ai été clair et vous remercie par avance de vos
réponses.
A voir également:
Pb de syntaxe pour des liens de cellules (important!!)
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 1 juil. 2009 à 16:34
ok !
alors voici quelques infos supplementaire:
ActiveCell.Row 'renvoi le numero de ligne de la cellule active
ActiveCell.Column 'renvoi le numero de colonne de la cellule active
donc au lieu de faire
Dim Ligne As Long, Colonne As Long
Ligne =13
Colonne=3
tu fais ?...
Dim Ligne As Long, Colonne As Long
Ligne =ActiveCell.Row
Colonne=ActiveCell.Column
en suite y plus qu'a ajouter ou a soustraire le decalage aux variables Ligne et Colonne au moment ou tu l'ais utilise
interesse toi aussi a la propriété Offset. Voici un exemple qui n'a rien a voir avec ce que tu veux:
'cette exemple prend la valeur de la cellule a gauche de la cellule active, lui ajoute 5 et met le resultat en A1
Range("A1").Value = ActiveCell.Offset(0,-1).Value + 5 'ici on ce decale d'une colonne vers la gauche
Note que pour plus d'info il suffit de placer le cursseur sur la commande ou la propriété ou autre et d'enfoncer(gentillement^^) la touche F1
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 1 juil. 2009 à 14:36
Salut,
comprend rien !!!
pour commence sache que formulaR1C1 peut etre remplace par formula, ce qui simplifi beaucoup la lecture et l'ecriture de la formule:
ActiveCell.Formula= "=B13+J13"
maintenant si tu veux integrer une variable a ta formule:
Dim nb As Long
nb =13
ActiveCell.Formula= "=B" & nb & "+J" & nb
maintenant si tu voulais integrer une variable pour la ligne et une variable pour la deuxieme colonne :
Dim Ligne As Long, Colonne As Long
Ligne =13
Colonne=10
ActiveCell.Formula= "=B" & Ligne & "+" & Cells(Ligne,Colonne).address(False,False) 'ici la propriété Cells associée à la propriété Address rencvera J13
De plus, si ton objectif est de faire une adition du contenu de 2 Cellules en VBA il existe une methode plus simple:
DaziooM07
Messages postés4Date d'inscriptionjeudi 21 décembre 2000StatutMembreDernière intervention 1 juillet 2009 1 juil. 2009 à 15:18
Désolé de ne pas avoir été clair, je vais essayé de m'expliquer
Voici la situation
Je suis sur une cellule active, et je sais que les deux cases que je souhaite soustraire sont :
- pour la première à (nb +2) au dessus de ma cellule active et sur la colonne D
-pour la deuxième à (nb+2) au dessus de ma cellule active et colonne J
ps : Si ça peut aider je sais que ma cellule active se trouve sur la colonne C
donc, sur ma cellule active je souhaite avoir "= Dx -Jx"
où x représente la ligne se situant à nb+2 au dessus de ma cellule active.
Voilà c'est assez compliqué à expliquez, j'espère avoir été un peu plus clair
En tout cas merci, de m'avoir répondu si vite et j'espère que vous pourrez m'aider.
DaziooM07
Messages postés4Date d'inscriptionjeudi 21 décembre 2000StatutMembreDernière intervention 1 juillet 2009 1 juil. 2009 à 16:03
Je dois surement être borné, mais bon je veux vraiment maitrisé ce sujet.
Il me semble que toute les propositions que tu m'a faites ne réponde pas à ma demande("Je me trompe surement.."), mais d'après ce que j'ai compris pour les méthodes que tu m'as données, il faut :
- soit la valeur précise de la case( ex "J13")
- soit la valeur de la ligne en fonction d'une variable(ex nb=13 ->ligne =13)
Je synthétise grossièrement, je l'admet !!
Malheureusement je n'ai ni l'un ni l'autre, j'ai uniquement la position de la cellule en fonction de ma cellule active et d'une variable nb.
Pour l'illustrer, plus simplement je donne l'exemple:
La ligne des deux cellules à soustraire = "La ligne de ma cellule active" -2- nb
et les colonnes sont connues, c'est D et J.
Je suis désolé d'être obstiné(peut être dans mon erreur), mais j'ai besoin d'une lumière qui éclaircisse mes pensée !! Merci encore!!
DaziooM07
Messages postés4Date d'inscriptionjeudi 21 décembre 2000StatutMembreDernière intervention 1 juillet 2009 1 juil. 2009 à 16:55
Merci Merci Merci!!Tu m'a sauvé la vie !!J'ai testé ça marche!!
Je n'avais absolument pas pensé à me ramener à des lignes fixes!
J'avoue ma devise s'est pourquoi faire simple quand on peux faire compliqué
Merci beaucoup pour la rapidité des messages et la patience que tu a eu à mon égard .
A Bientôt!!