Boucles sur différentes colonnes et lignes avec calcul

Bonjour,

J'essaye de faire une boucle qui calcule en ligne 8 en partant de la colonne 3 à la colonne 9 puis de la 12 à la 18 et que ce calcul se répète ligne 12, 16 etc

Je l'ai fait en fonction ou sans boucle, cela fonctionne mais c'est "lourd".

Je joins mon fichier

Quelqu'un peut-il m'aider sur ce sujet ?

Merci d'avance

11pour-macro.xlsm (32.77 Ko)

Bonjour,

Essayez ceci:

Sub calculheure()
    Dim colonne As Integer, ligne As Integer
    colonne = 3
    ligne = 8
    ligne_fin = 6
    ligne_debut = 5
    For i = 3 To 12 Step 9
        For colonne = 0 To 6
            If Cells(ligne_fin, colonne + i) <> "" And Cells(ligne_debut, colonne + i) <> "" Then
                Cells(ligne, colonne + i) = Cells(ligne_fin, colonne + i) - Cells(ligne_debut, colonne + i)
            End If
        Next
    Next i
End Sub

Cdlt

Bonjour,

Question : Pourquoi un code ? Les calculs se font directement avec une formule en ligne 8 et les autres.

=SIERREUR(C6-C5;0)

Merci pour votre réponse.

Mon fichier fonctionne déjà en fonction mais je souhaite le faire en VBA. Cela me permet de comprendre le codage.

@Arturo83 : cela fonctionne bien mais pour refaire les mêmes calculs en ligne 12, 18 donc toutes les 4 lignes ?

Une proposition :

Sub TestCalculHeures()

Dim I As Integer, MesLignes As Variant

    MesLignes = Array(8, 12, 16, 20, 24, 30)

    For I = LBound(MesLignes) To UBound(MesLignes)
            Range(Cells(MesLignes(I), 3), Cells(MesLignes(I), 3 + 6)).Formula = "=IFERROR(C" & MesLignes(I) - 2 & "-C" & MesLignes(I) - 3 & ",0)"
            Range(Cells(MesLignes(I), 12), Cells(MesLignes(I), 12 + 6)).Formula = "=IFERROR(L" & MesLignes(I) - 2 & "-L" & MesLignes(I) - 3 & ",0)"
    Next I

End Sub

Merci beaucoup, cela fonctionne parfaitement.

Bonne soirée

Rechercher des sujets similaires à "boucles differentes colonnes lignes calcul"