RESOLU Incrémenter une formule sur une colonne entière en VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Melomie

XLDnaute Occasionnel
Bonjour tout le monde,


Je cherche "simplement" à incrémenter une formule sur une colonne entière de mon tableau, en VBA.


Voici mon code:

Range("I1").Select
With Selection.Interior
.ColorIndex = 44
End With
ActiveCell.FormulaR1C1 = "RAP"

Range("I2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]>RC[-3],"""",RC[-3]-RC[-1])"



Pour le moment ça me calcule bien le RAP de la première ligne, mais ça ne l'incrèmente pas comme prévu sur le reste des lignes...

La solution doit etre très simple, pardonnez-moi mon non savoir-faire! Je suis novice.

Merci beaucoup par avance ! 😀
 
Dernière édition:
Re : Incrémenter une formule sur une colonne entière en VBA

Bonjour Melomie,

Pas bien sur de bien percuter ce qui t'ennuie, mais tu peux tester ce code, à la place de ce que tu as mis :

VB:
Range("I1").Interior.ColorIndex = 44
Range("I1") = "RAP"
Range("I2:I65536").FormulaR1C1 = "=IF(RC[-1]>RC[-3],"""",RC[-3]-RC[-1])"
 
Re : Incrémenter une formule sur une colonne entière en VBA

En fait j'ai juste un petit souci avec ton code:

il faudrait que ça applique la formule uniquement si la cellule de gauche correspondante est remplie. En fait, actuellement mon tableau fait 394 lignes donc les 394 premières lignes c'est niquel par contre après, vu qu'il n'y a plus de données dans la colonne H ça me met "#VALEUR!"
Le souci c'est que la taille de mon tableau pourra varier d'un jour à l'autre donc on ne peut pas de baser sur le nombre de ligne de celui-ci précisèment.

Je sais pas si j'ai été bien claire...

Ce n'est pas très grave, du moment que ca fonctionne mais ca serait toujours mieux, si quelqu'un sait comment arranger ce petit problème.

Merci par avance!
 
Re : Incrémenter une formule sur une colonne entière en VBA

Bonjour,

Si la colonne de gauche dont tu parles est la colonne 1, alors tu peux tester ça :
Range("I2").AutoFill Range("I2😛" & Range("A65536").End(xlUp).Row)

Merci de me dire si ça marche.

a plus
 
Re : Incrémenter une formule sur une colonne entière en VBA

Bonjour,

En fait la formule vue plus haut (colonne J) se base sur les valeurs de la colonne I, donc si I est vide, J doit etre vide aussi.

Je vais essayer ton code mais je ne le comprends pas très bien alors je ne suis pas sure de l'appliquer correctement...
 
Re : Incrémenter une formule sur une colonne entière en VBA

Oups, petite erreur de ma part, a mon avis ceci devrait marcher :

Range("I2").AutoFill Range("I2:I" & Range("A65536").End(xlUp).Row)

cette ligne te fera l'incrémentation en identifiant la dernière cellule remplie en colonne A.

En attente de te lire

a plus
 
Re : Incrémenter une formule sur une colonne entière en VBA

J'ai testé mais ca ne marche pas, ça me met toujours les #VALEUR! en dessous du tableau...

Mais je ne suis pas sure d'avoir bien compris où le mettre par rapport à la ligne de code que Softmama m'a donné plus haut...? L'erreur vient peut etre de moi!
 
Re : Incrémenter une formule sur une colonne entière en VBA

re,

tu peux modifier ainsi :

VB:
Range("I:I").ClearContents
Range("I1").Interior.ColorIndex = 44
Range("I1") = "RAP"
Range("I2:I" & Range("G65536").end(xlup).Row).FormulaR1C1 = "=IF(RC[-1]>RC[-3],"""",RC[-3]-RC[-1])"
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
283
Réponses
7
Affichages
570
Retour