VBA / Selection dynamique de Range

Bonjour,

J'ai un problème que je n'arrive pas à résoudre alors je m'adresse à vous !

J'ai un script qui doit additionner les valeurs de cellules dans une range seulement si la couleur du texte est noir. Ca fonctionne nickel c'est parfait.

Mais j'aimerais que cette range soit dynamique. je m'explique. en colonnes j'ai des mois (sur 2 colonnes).

ex : A et B pour Janvier, C et D pour fevrier etc...

j'aimerais donc qu'en fonction du mois en cours la range soir la bonne... (A1:B41 dans mon exemple)

Voici mon code :

Sub SumMois()

  Dim Cel As Range
  Dim i As Integer

  For Each Cel In Sheets("Feuil1").Range("A1:B41")
      If Cel.Font.ColorIndex = 1 Then
        With Sheets("Feuil2")
          .Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = Cel.Value
       End With
      End If
    Next Cel

    Sheets("Feuil2").Range("B1").Formula = "=SUM(A1:A1000)"

End Sub

Ce code fonctionne donc bien. juste à le dynamiser, je n'y arrive pas du tout...

Voila. j'espère que l'un d'entre vous aura la gentillesse de m'aider !

Merci d'avance

Charles

Bonjour

Les mois sont nommés comment dans le fichier ?

Cordialement

Bonjour,

tu devrais mettre un fichier exemple, ça serait + clair pour tous...

P.

Bonjour

CharlesOlsenn a écrit :

en fonction du mois en cours

Une idée

Le calcul de la colonne peut se faire aussi par formule

Sub SumMois()

Dim Cel As Range
Dim I As Integer

  For Each Cel In Sheets("Feuil1").Cells(1, Choose(Month(Date), 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23)).Resize(41, 2)
    If Cel.Font.ColorIndex = 1 Then
      With Sheets("Feuil2")
        .Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = Cel.Value
      End With
    End If
  Next Cel

  Sheets("Feuil2").Range("B1").Formula = "=SUM(A1:A1000)"

End Sub

Merci Benzai64.

Ca marche nickel !!!

Re

Dans le code de Banzai, juste ajouter un point devant ROWS.COUNT car si le code est exécuté depuis la feuille 1, la dernière ne sera pas celle de la feuille 2 mais bien de la feuille 1.

Oublie pas de clôture le fil. Pas besoin d'utiliser le mot "Résolu" mais clique uniquement sur le V vert à coté du bouton EDITER.

Cordialement

Rechercher des sujets similaires à "vba selection dynamique range"