Boucle tant que condition texte

Bonjour,

Je souhaite creer une boucle pour que mes calculs se repetent jusqu'à ce qu'il soit bon. Pour cela la cellule Q8 doit etre initialement egal à 5. Tant que dans la cellule AH8 il est écrit "Non valide" (pour Q8=5 c'est le cas) je souhaite que Q8 soit incrementer de 1 et ainsi de suite jusqu'a dans la cellule AH8 soit marquer "OK".

Le texte de la cellule AH8 depend d'un calcul qui est fonction de la valeur de la cellule Q8.

Merci de votre aide

Bonne journée

Bonjour,

Ce n'est pas vraiment de cette façon qu'on procède normalement. L'incrémentation est faite dans la boucle par l'intermédiaire d'une variable et pas dans une cellule. Une fois le calcul réussi, tu peux si tu le veux entrer le résultat de la variable dans la cellule.

Voilà une incrémentation directement dans la cellule mais le résultat peut ne pas être ce que tu attends. A mettre dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then Exit Sub
    If Target.Address(0, 0) <> "Q8" Then Exit Sub

    Do

        Target.Value = Target.Value + 1

    Loop Until Range("AH8").Value = "OK"

End Sub

L'incrémentation démarre dès que tu entres une valeur dans la cellule Q8.

Et avec une fonction Perso on ne peut plus basique :

Function Calcul(ValeurDepart As Integer, ValeurMax As Integer) As Integer

    Dim I As Integer

    I = ValeurDepart

    Do

        'ici tes calculs...

        I = I + 1

    Loop Until I >= ValeurMax

    Calcul = I

End Function

que tu appelles par exemple de cette façon :

Sub Test()

    MsgBox Calcul(5, 1000) 'ce qui forcèment donne 1000 !

    'ou
    Range("Q8").Value = Calcul(5, 1000)

End Sub

Merci c'est top! Ca remonte à loin mon initiation en vba, tu m'as sauvé!

Bonne journée

Rechercher des sujets similaires à "boucle tant que condition texte"