Somme d'une variable incrémenté
Résolu
Jerome
-
Theo.R Messages postés 585 Statut Membre -
Theo.R Messages postés 585 Statut Membre -
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.
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.
A voir également:
- Somme d'une variable incrémenté
- Somme si couleur - Guide
- Formule somme excel colonne - Guide
- Somme en anglais excel - Guide
- Somme excel ne fonctionne pas ✓ - Forum Excel
- Incrémenter une série excel ne fonctionne pas ✓ - Forum Excel
3 réponses
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
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
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)
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:
-> 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 ;)
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 ;)
Désolé mais je n'ai pas compris ta formule !
J'ai du mal a comprendre la formule, peux tu me la détailler?