Excel VBA: Inscrire une formule de B2 à l'avant dernière colonne

Résolu/Fermé
Astride - 19 févr. 2014 à 10:13
 Astride - 19 févr. 2014 à 15:46
Bonjour,

Je tourne vers vous pour savoir quel code inscrire dans VBA pour pouvoir inscrire la formule suivante: =somme(b3:b110) de la cellule B2 à la cellule située en 2ème ligne de l'avant-dernière colonne.

Je vous en remercie par avance!
A voir également:

2 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
19 févr. 2014 à 15:30
J'aurais parié que tu pourrais y arriver sans mon aide :D
J'ai ajouté quelques commentaires pour t'aider dans la compréhension du code

Sub Test()
Dim DerCol As Integer
'On détermine le numéro de la dernière colonne renseignée sur la ligne 1
DerCol = Cells(1, Columns.Count).End(xlToLeft).Column
'On inscrit la formule dans la cellule B2
Range("B2").Formula = "=SUM(B3:B110)"
'On effectue la copie incrémentée jusqu'à l'avant dernière colonne
Range("B2").AutoFill Destination:=Range(Cells(2, 2), Cells(2, DerCol - 1))
End Sub

A+
1
Parfait!

C'est vrai que le - 1 paraissait évident, mais avec les langages techniques, je me méfie toujours!

Merci pour le code mais également pour les commentaires!
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
19 févr. 2014 à 13:41
Bonjour,

En supposant que la dernière colonne peut être définie avec la dernière cellule renseignée de la ligne 1

Sub Test()
Dim DerCol As Integer
DerCol = Cells(1, Columns.Count).End(xlToLeft).Column
Range("B2").Formula = "=SUM(B3:B110)"
Range("B2").AutoFill Destination:=Range(Cells(2, 2), Cells(2, DerCol))
End Sub

A+
0
Bonjour,

Merci beaucoup pour la réponse, on y est presque!
Après un essai du code, la macro m'a bien saisi et étiré la formule en 2ème ligne en commençant par la cellule B2, par contre elle a été jusqu'à la dernière ligne or il faudrait qu'elle s'arrête à l'avant-dernière; est-ce faisable?

Merci encore!
0