Somme d'une variable incrémenté

Résolu
Bonjour,

Je débute en VBA et des que ca se complique je galere.
J'ai besoin d'incrementé un valeur fixe, ma variable (0.002) dans un tableau en fonction du nombre de ligne de mon tableau (qui peut varier en fonction des mes enregistrements).
Donc comment faire une boucle qui me calcul le nombre de ligne de mon tableau et qui ajoute 0.002 à la premiere ligne et qui incrémente 0.002 pour les lignes suivante jusqu'a la derniere. Ce qui doit donner si j'ai 6 lignes dans mon tableau ligne1:0.002 ; ligne2:0.004 ; ligne3:0.006 ; ligne4:0.008 ; ligne5:0.010 ; ligne6:0.012.
J'espere avoir était assez clair.
Merci de votre aide.

3 réponses

  1. Bonjour,

    tu peux faire ça avec une formule.
    =0,002
    puis = cellule d'en haut + 0,002
    0
    1. Bonjour,

      Désolé mais je n'ai pas compris ta formule !
      0
    2. Tu as 0,002 dans ta 1ère cellule. Tu peux écrire dans ta 2e cellule qu'elle vaut la première + 0,002.
      0
    3. Merci mais cela ne m'aide pas a écrire un code dans VBA.
      0
    4. dim ma_variable as integer
      dim cpt as integer

      cells(1,1).value =0,002

      cpt = ce que tu veux

      For ma_variable = 2 to cpt
      cells(ma_variable,1).value=cells(ma_variable-1,1).value+0,002
      Next ma_variable
      0
    5. @Pierre1310Que signifie cpt ? Compteur? comment ca marche ?
      J'ai du mal a comprendre la formule, peux tu me la détailler?
      0
  2. Bonjour,

    en supposant que la valeur fixe à ajouter soit dans la cellule D1,

    déclarer la somme en se référant à $D$1 (Coordonnée absolue).

    Autre solution, définir un nom, exemple CONST
    Insertion Nom Définir saisir le nom sélectionner D1

    Dans la formule, saisir + Insertion Nom Coller CONST
    0
    1. On voit que je débute car je n'ai pas compris ce que tu m'as expliqué!
      0
  3. Pour le peu de détails que tu donnes, je dirais qu'étirer une simple formule suffit. Après VBA peut t'aider à adapter le calcul au nombre de lignes du tableau.

    Quelques pistes pratiques :

    1) Trouver le nb de lignes de ton tableau : on définit une variable. Ex: Calculer n° Dernière ligne non vide (feuille 1 en A:A)
    Dim DernLigne As Long
    DernLigne = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row


    Une fois que tu as le nb de lignes de ton tableau, tu peux utiliser une boucle :

    2) Boucle de type "For i = 1 to 10" (...) "Next i" : Le code entre ces deux bornes de la boucle se répètera dans l'ordre en donnant à i la valeur de 1, puis de 2, (...) jusqu'à 10 inclus.
    Dans ton cas, tu peux utiliser DernLigne comme valeur max au lieu de 10, voire commencer à 2 si ton tableau à des en-têtes.
    Ex:
     For i = 2 to DernLigne
    Cells(i,1).value = i * 0,002
    Next i

    -> dans cet exemple, la cellule en Ai prend est valorisée à 0,002 * ligne en question (i). Donc pour i = 2, on aura A2 = 0,004, pour i = 3 on aura A3 = 0,006, et ainsi de suite. Cela colle à ta demande ;)

    D'autres types de boucles peuvent faire l'affaire, comme "Do until (...) Loop" ou "While (...) Loop". Mais pour débuter les boucles en "For...Next" sont pas mal ;)
    0
    1. Super c'est exactement ce que je charchais ! merci
      0
    2. Pas de souci, merci de passer le sujet en Résolu si c'est tout bon pour vous ;)
      0