XL 2013 Code VBA pour copier une plage de celulle avec formule sans changer de cellule

benc

XLDnaute Nouveau
Bonjour à tous,

Je souhaites copier une sélection de cellules sans changer d'activecell tout en gardant les formules de mes cellules.
(l'emplacement de cette colonne va être amené a bouger avec le temps en fonction des variables)

Voici le code que j'ai utilisé :
ActiveCell.Select
Selection.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUM(RC[-31]:RC[-28])"
ActiveCell.Select
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
ActiveCell.Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.Replace What:="#N/A", Replacement:="0", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Selection.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUM(RC[1]:RC[4])"
ActiveCell.Select
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy Range("AG3")


cela me copie bien la sélection avec les formules mais celles-ci ne sont plus bonnes. En effet, au lieu d'avoir "=SOMME(BS3:BV3)" dans la cellule il me décale la formule en fonction de l’emplacement du collage ex: "=SOMME(AH3:AK3)".

Comment faire en sorte que dans la cellule ou l'on vient coller l'information, la formule reste "=SOMME(BS3:BV3)" ?

Merci d'avance pour votre aide.
 

benc

XLDnaute Nouveau
Bonjour Sylvanu,

Merci pour ta réponse.

Le souci étant que cette colonne va changer d'emplacement chaque semaine ainsi que la plage de calcul, c'est pourquoi j'ai choisit "=SUM(RC[1]:RC[4])" afin d'effectuer toujours le calcul sur les 4 colonnes suivantes (correspondant aux semaines suivantes).

puis copier les formules dans la colonne AG .

Une autre piste?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Vous n'auriez pas un petit fichier exemple ?

Car vous dites : je ne veux pas que les colonnes changent lorsque je copie la formule.
Je vous dis de mettre des $
Vous répondez, non car je veux que le calcul s'effectue sur les 4 colonnes suivantes, donc ... que les colonnes s'incrémentent. ;)
 

benc

XLDnaute Nouveau
En fait c'est un fichier avec les semaines de l'année et les prévisions de ventes qui vont être réajustées au fur et à mesure pour chaque semaine de l'année en fonction des ventes passées.

En fonction de la semaine en cours on va venir insérer une colonne et faire la somme des ventes prévisionnelles sur les 4 prochaines semaines puis copier celle-ci dans la colonne AG.

Donc la colonne insérée, elle, change bien chaque semaine. Mais lorsque l'on copie les sommes des 4 prochaines semaines dans AG, je veux qu'elle garde la même plage de valeur que dans la colonne nouvellement insérée.

Les valeurs de ces 4 semaines étant amené a varier, je souhaite garder la formule telle quelle : "=SUM(BS3:BV3 )" pour la semaine en cours.

Mais la semaine suivante ce sera "=SUM(BT3:BW3 )".

Est-ce plus clair ? (pas évident a expliquer ;) )
 

Discussions similaires

Réponses
2
Affichages
880