Une ligne à débloquer

Bonjour,

Je commence à utiliser les intégrations et je bloque sur cette formule, quelqu'un pourrait m'aider svp ? ^^

Le classeur est la pour voir ce que fais le code:

Sub calcul_avantH()

For i = 1 To 5

Range("W17").Select

Do While ActiveCell.Previous.Value = ""

ActiveCell.Offset(1, 0).Select

Loop

Do While ActiveCell.Previous.Value <> ""

ActiveCell.Formula = "=IF((ActiveCell.Offset(-1 - i, -16).Value - ActiveCell.Offset(-i, -16).Value)>(ActiveCell.Offset(-i - 1, -11).Value + ActiveCell.Offset(0, -11).Value) + (ActiveCell.Offset(0, -3).Value + ActiveCell.Offset(0, -1).Value),(ActiveCell.Offset(-i - 1, -11).Value + ActiveCell.Offset(0, -11).Value), ""Impossible"")"

Loop

Next i

end sub

8classeur2.xlsx (17.62 Ko)

Bonjour,

Actuellement sur téléphone je ne peux pas te proposer une solution viable directement... Tu peux ajouter des titres à ta feuille Excel s'il te plaît on ne sait pas à quoi correspond tes données de temps... J'aurais bien une solution pour toi qui ne dépendrai pas de la position des cellules mais sans titres je t'avoue que je n'ai même pas envie de la rédiger

Mon idée est de créer une fonction personnalisée mais sans avoir le nommage de tes paramètres c'est incompréhensible pour l'utilisateur lambda

Function CALCT(Temps1, Temps2, Temps3, Temps4, Temps5, Temps6, Optional Texte_si_erreur As String = "Impossible") As Variant
    Application.Volatile
    If Temps1 - Temps2 > Temps3 + Temps4 + Temps5 + Temps6 Then
        CALCT = (Temps3 + Temps4 + Temps5 + Temps6)
        Else
            CALCT = Texte_si_erreur
    End If
End Function

Désolé si il y a des fautes de frappe comme dit je suis sur téléphone...

Comme ça dans la cellule que tu veux tu mets

=CALCT($G$19;$G$18;$L$18;L20;T20;V20)

Et si tu souhaites un texte autre que "Impossible" tu le mets entre guillemets à la fin

=CALCT($G$19;$G$18;$L$18;L20;T20;V20;"Bouh")

Avec ça tu incrémente où tu veux, pas besoin de boucle VBA c'est un clic de souris.

Rechercher des sujets similaires à "ligne debloquer"