Petite Macro Boucle While

Résolu
petit1986 -  
 petit1986 -
Bonjour,
Etant très très novice en VBA, je vous appelle à l'aide !
Je souhaite réaliser une boucle While pour faire la macro suivante :

Tant que la cellule B29 est inférieure à B30
on ajoute +1 à B29

En résumé, faire en sorte que la valeur de B29 s'incrémente de 1 en 1 jusqu'à la dernière valeur en dessous de B30 !
J'imagine qu'il faut déclarer la variable et là.... j'ai de grosses lacunes...
Je vous remercie donc d'avance des réponses et pistes que vous pourrez m'apportez !
Merci
petit1986
Configuration: Windows XP Internet Explorer 7.0

3 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Salut,
    Comme ceci, tout simplement :
    Do While [B29] <= [B30] - 2 'j'ai mis B30 - 2 car lors de l'essai, la macro s'arrétais à B30 +1
    [B29] = [B29] + 1
    Loop
    0
  2. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Aucune difficulté majeur dans cet exercice :

    Tant que la valeur de la cellule B29 est inférieur à la valeur de la cellule B30 - 1 Faire
    Valeur cellule B29 + 1
    Fin Tant que

    Ce qui donne en VB:

    While Range("B29").Value < Range("B30").Value - 1
        Range("B29").Value = Range("B29").Value +1
    Wend


    Il n'y a pas besoin de déclarer une variable.

    ;o)
    0
  3. petit1986
     
    Tout d'abord merci pour vos réponses ultra rapide !
    En effet la boucle marche le plus simplement du monde ! Je m'étais embrouillé avec des trucs de fou...
    Toutefois dans l'application que j'en fait, le résultat ne marche pas forcément, il s'arrête des fois à +1 de trop...
    et aussi, je m'étais un peu trompé dans les cellules le vrai est :

    Do While [B29] <= [C29] - 1
    [B27] = [B27] + 1
    Loop

    en fait la valeur de B29 dépend pleinement de ma valeur en B27.
    Mais je vous remercie quand même; j'ai des pistes, sympa...
    Merci
    0
    1. petit1986
       
      Cà y est, j'ai trouvé juste une mini astuce pour régler le problème, il suffisait juste de prendre le problème dans l'autre sens !! ne pas dire tant que B29 est inférieure à C29 mais dire tant que B29 est supérieur à C29...
      tout simplement !
      Merci encore pour l'aide générale !
      0