Macro pour recopier vers le bas une formule ?

Noeste

XLDnaute Nouveau
Bonjour de nouveau,

Après avoir réussi à surmonter mon dernier problème grâce à vos réponses, je sollicite à nouveau votre aide.
Ca va sûrement vous paraître basique comme demande mais je bute vraiment sur ce point :
J’ai inséré une formule de somme des cellules G2 à K2 dans la cellule E2, mais j’aimerais savoir comment indiquer dans ma macro que je veux recopier cette formule jusqu'à la dernière ligne pleine de mon tableau qui est variable et sachant que la cellule (colonne D) à gauche de ma formule peux être vide mais pas la colonne A.

Ensuite j’aimerais que dans la cellule L2, je puisse faire le total de la colonne E, donc de la cellule E2 à la dernière cellule plein de la colonne E

Je vous joints un fichier comme exemple

Merci par avance
Noeste
 

Pièces jointes

  • tableau.xls
    23.5 KB · Affichages: 80
  • tableau.xls
    23.5 KB · Affichages: 81
  • tableau.xls
    23.5 KB · Affichages: 86

Cousinhub

XLDnaute Barbatruc
Re : Macro pour recopier vers le bas une formule ?

Bonjour, regarde le fichier joint.

Sub mise_a_jour()
Sheets("balance agée").Select
Range(Cells(2, 5), Cells([a65000].End(xlUp).Row, 5)).FormulaR1C1 = "=SUM(RC[2]:RC[6])"
[L2] = Application.Sum(Range("E2:E" & [a65000].End(xlUp).Row))
End Sub
 

Pièces jointes

  • tableau.xls
    40 KB · Affichages: 155
  • tableau.xls
    40 KB · Affichages: 157
  • tableau.xls
    40 KB · Affichages: 156

Gael

XLDnaute Barbatruc
Re : Macro pour recopier vers le bas une formule ?

Bonjour Noeste, bonjour bhbh,

Une variante possible puisque la formule existe déjà en E2:

Code:
Sub Test()
Range("E5", "E" & [A65000].End(xlUp).Row).Select
Selection.FillDown
[L2] = Application.Sum(Selection)
End Sub

@+

Gael
 

LE MATIN

XLDnaute Occasionnel
Re : Macro pour recopier vers le bas une formule ?

Bonjour Noeste, bonjour bhbh,

Une variante possible puisque la formule existe déjà en E2:

Code:
Sub Test()
Range("E5", "E" & [A65000].End(xlUp).Row).Select
Selection.FillDown
[L2] = Application.Sum(Selection)
End Sub

@+

Gael

bonjour à tous, bonjour Gael,

interessé par le petit code ci-dessus pourriez-vous me dire comment l'adapter pour l'appliquer à plusieurs colonnes par exemple G:p
merci par avance :)
 

LE MATIN

XLDnaute Occasionnel
Re : Macro pour recopier vers le bas une formule ?

Bonjour Lematin,

Je t'envoie ci-joint un exemple avec les colonnes G:p.

@+

Gael

bonjour gael, le forum,
et tout d'abord merci pour ta reponse.
après avoir adapter le code à mon fichier, ça marche très bien :) mais....
Dans mon exemple le code doit d'executer dans la feuille 7, où faudrait-il copier la macro pour qu'elle continue à s'excuter sur la feuille 7 mais qu'elle puisse être lancer de n'importe quelle autre feuille?
merci pour cette précision.
 

Gael

XLDnaute Barbatruc
Re : Macro pour recopier vers le bas une formule ?

Bonjour Lematin,

Dans l'exemple, la macro s'exécute sur la feuille active. Si tu veux qu'elle s'exécute toujours sur la même feuille, il suffit d'ajouter:

Code:
Sheets("Feuil7").Activate

Pour définir la zone concernée, tu as plusieurs solutions:

Code:
Range("G1").CurrentRegion.Select
qui va sélectionner toute la zone délimitée par des cellules contenant des données.

Code:
Range("G1", Cells([F500].End(xlUp).Row, [AA1].End(xlToLeft).Column)).Select

Qui va sélectionner à partir de G1, jusqu'à la cellule définie par la dernière ligne utilisée et la dernière colonne utilisée.

Tu peux aussi nommer une plage de cellules:
* Tu sélectionnes la plage de cellules
* Tu fais insertion - nom - définir
* Tu donnes un nom (par exemple "Plage") puis ajouter

Dans la macro, tu peux mettre:

Code:
Range("Plage").select
Comme le nom fait référence à une plage de cellules d'une feuille précise, l'activation préalable de la feuille n'est pas nécessaire.

La plage de cellules nommées peut aussi être variable en utilisant la fonction "Decaler".

Si tu souhaites d'autres précisions, je reste à ta disposition.

@+

Gael
 

LE MATIN

XLDnaute Occasionnel
Re : Macro pour recopier vers le bas une formule ?

bonsoir Gael, bonsoir à tous,

tout d'abord merci pour cette réponse très détaillée :)

Mes connaissances vba etant pratiquement nulles, ça permet d'avancer.

en fait, la solution a mon problème était assez simple, en rendant la macro evenementielle,( merci XLD et la fonction recherche) la recopie des formules se fait à l'ouverture de la feuille 7 et le tableau se met à jour ....c'est parfait

En tout cas merci encore de ta reponse j'ai encore appris des choses.
 

Discussions similaires

Statistiques des forums

Discussions
312 164
Messages
2 085 877
Membres
103 007
dernier inscrit
salma_hayek