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

Résolu
Astride -  
 Astride -
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!

2 réponses

  1. Gyrus Messages postés 3360 Statut Membre 526
     
    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
    1. Astride
       
      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
  2. Gyrus Messages postés 3360 Statut Membre 526
     
    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
    1. Astride
       
      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