Incrementation d'une formule sous 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 !

Maohtsukai

XLDnaute Nouveau
Bonjour à tous,

Je vous écris étant débutant en Excel et en VBA. J'ai juste un probleme quant à l'implémentation d'une formule dans une cellule sous VBA.

En effet, je cherche à copier une formule qui prendrait automatiquement la bonne valeur, c'est-à-dire que pour le moment, j'arrive à copier cette formule, mais je n'arrive pas à lui faire prendre la bonne valeur.

Imaginons que celle-ci soit dans la cellule B1, et s'applique à la Cellule A1. J'arrive à insérer cette formule dans la cellule C1, mais cette formule nouvellement collée s'applique toujours à la Cellule A1 alors que je chercherait à la faire s'appliquer à la cellule B1.

Si quelqu'un pouvait m'aider, merci beaucoup par avance 🙂
 
Re : Incrementation d'une formule sous VBA

Excuse moi, cela est vrai que je n'ai pas mis d'exemple concret. Voici :

J'ai une ligne de formule : =EVTIM ($B$3;A10) , que j'ai incrémenté sur toutes les cellules de la ligne 10.

La macro que j'ai crée me sert en fait à coller cette formule aux cellules vides qui suivent sur cette ligne :

Code:
If Cells(ligne, n) = "" Then
  Columns(n).Insert
  Cells(ligne, n) = Cells(ligne, n - 1).Formula
  Exit For

Cependant, sur la cellule "n", la formule que je colle correspond exactement à la même formule que dans la cellule n-1
=EVTIM($B$3;n-2)
alors qu'elle devrait prendre en compte cette cellule n-1 et être égale à =EVTIM($B$3;n-1)

Voilà en gros mon probleme.

Merci pour tout
 
Re : Incrementation d'une formule sous VBA

Non ce n'est pas ça...

Je suis novice mais pas encore à ce point là 😀 la cellule bloquée $B$3 correspond à une fonction de cette formule qui doit toujours rester comme cela, et il s'agit ici d'une modification que je dois effectuer dans ma Macro et non dans le classeur Excel directement.

merci beaucoup quand même ^_^
 
Re : Incrementation d'une formule sous VBA

re Maohtsukai,

Comme l'instruction Insert décale tes cellules vers la droite c'est la formule de droite qu'il faut remplacer par quelque chose du style

cells(Ligne,n+1)=Replace("=EVTIM ($B$3;@)", "@", Cells(1, n).Address)

A+
 
Re : Incrementation d'une formule sous VBA

Re

Papou-net :

Ta formule ne change pas le résultat que j'avais déjà avec mon premier essai.

Hasco :

Mon instruction INSERT me sert à insérer une colonne après la derniere cellule non vide de cette ligne, donc je ne pense pas qu'il faille changer la formule de droite. Ce qu'il faudrait faire je pense, c'est insérer la formule comme ci on tirait la formule pour qu'il prenne en compte la nouvelle cellule mais je ne sais pas le faire sous VBA >_<
 
Re : Incrementation d'une formule sous VBA

Merci Papou, effectivement tu es le vainqueur aujourd'hui, tu as trouvé la maniere la plus simple de réaliser ce que je voulais faire ^_^

Il faudra que je pense à arreter de penser selon le dicton Shadok : "Pourquoi faire simple quand on peut faire compliqué?" ça me permettrait d'arriver plus vite au résultat espéré ^_^

Donc finalement, Merci Papou et Merci Hasco 😀
 
Re : Incrementation d'une formule sous VBA

Re,

Je poste finalement le code que j'ai utilisé mais Merci quand même GIBI, je pense qu'on arrive au même résultat :

Code:
If Cells(ligne, n) = "" Then
  Columns(n).Insert
  Cells(ligne, n - 1).Select
    Selection.AutoFill Destination:=Range(Cells(ligne, n), Cells(ligne, n - 1)), Type:=xlFillDefault
    Range(Cells(ligne, n), Cells(ligne, n - 1)).Select
  Exit For

et voilà !
En espérant que ça puisse aider ceux qui ont rencontré le même problème que moi....

merci à tous
 
- 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
5
Affichages
542
Retour