Incrémenter valeur VBA

Le
François
Bonjour,

Dans le code ci joint, j'essaie de compter le nombre de valeur, puis de
stocker la valeur de la cellule +1, et ensuite de positionner ces valeurs
dans une somme. Je n'y arrive vraiment pas.

Si quelqu'un a une idée :-))

Cordialement,
François

For Departcol = 9 To Derc Step 13
For Each Cel In Range("A4:A" & Derl)
DateD = Cells(1, Departcol)
DateD = CDate(DateD)
Brut = Cells(Cel.Row, 8)
If Cel = "JT" Then
If DateD >= Cells(Cel.Row, 6) And (DateD <= Cells(Cel.Row, 7) Or
Cells(Cel.Row, 7) = "") Then
For i = 1 To Cel.Count
If Month(DateD) = 12 Then
Brut = Brut * 2
ElseIf Month(DateD) = 5 Then
Brut = Brut + (Brut * (1 / 30))
Else
Brut = Brut
End If
Brut = Application.WorksheetFunction.Substitute(Brut, ",", ".")
ici==> Brut = Brut & "" & Brut(i) & "" & ","
Next i
ici==> .Cells(Ligne, 4) = "=sum(" & Brut & ")"

End If
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4899121
Bonjour.
Sans voir l'agencement des données, c'est difficile à comprendre.
Peux-tu mettre un classeur exemple, en effaçant les données confidentielles,
sur www.cjoint.com
Cordialement.
Daniel
"François"
Bonjour,

Dans le code ci joint, j'essaie de compter le nombre de valeur, puis de
stocker la valeur de la cellule +1, et ensuite de positionner ces valeurs
dans une somme. Je n'y arrive vraiment pas....

Si quelqu'un a une idée :-))

Cordialement,
François

For Departcol = 9 To Derc Step 13
For Each Cel In Range("A4:A" & Derl)
DateD = Cells(1, Departcol)
DateD = CDate(DateD)
Brut = Cells(Cel.Row, 8)
If Cel = "JT" Then
If DateD >= Cells(Cel.Row, 6) And (DateD <= Cells(Cel.Row, 7)
Or Cells(Cel.Row, 7) = "") Then
For i = 1 To Cel.Count
If Month(DateD) = 12 Then
Brut = Brut * 2
ElseIf Month(DateD) = 5 Then
Brut = Brut + (Brut * (1 / 30))
Else
Brut = Brut
End If
Brut = Application.WorksheetFunction.Substitute(Brut, ",", ".")
ici==> Brut = Brut & "" & Brut(i) & "" & ","
Next i
ici==> .Cells(Ligne, 4) = "=sum(" & Brut & ")"

End If




François
Le #4898791
Bonjour Daniel,

Je te remercie pour ton aide. Ci joint le fichier en question.
http://cjoint.com/?hnpIh2MOBL
Je reste à ta disposition pour tout complément d'info.

Cordialement.
François
"Daniel"
Bonjour.
Sans voir l'agencement des données, c'est difficile à comprendre.
Peux-tu mettre un classeur exemple, en effaçant les données
confidentielles, sur www.cjoint.com
Cordialement.
Daniel
"François"
Bonjour,

Dans le code ci joint, j'essaie de compter le nombre de valeur, puis de
stocker la valeur de la cellule +1, et ensuite de positionner ces valeurs
dans une somme. Je n'y arrive vraiment pas....

Si quelqu'un a une idée :-))

Cordialement,
François

For Departcol = 9 To Derc Step 13
For Each Cel In Range("A4:A" & Derl)
DateD = Cells(1, Departcol)
DateD = CDate(DateD)
Brut = Cells(Cel.Row, 8)
If Cel = "JT" Then
If DateD >= Cells(Cel.Row, 6) And (DateD <= Cells(Cel.Row, 7)
Or Cells(Cel.Row, 7) = "") Then
For i = 1 To Cel.Count
If Month(DateD) = 12 Then
Brut = Brut * 2
ElseIf Month(DateD) = 5 Then
Brut = Brut + (Brut * (1 / 30))
Else
Brut = Brut
End If
Brut = Application.WorksheetFunction.Substitute(Brut, ",", ".")
ici==> Brut = Brut & "" & Brut(i) & "" & ","
Next i
ici==> .Cells(Ligne, 4) = "=sum(" & Brut & ")"

End If








Daniel
Le #4871411
Je ne comprends pas ce que tu fais avec la variable "brut", tu fais des
calculs, et après, tu veux remplacer la virgule par un point ? Quel est ton
caractère décimal ? Peux-tu donner un exemple de ce que tu veux ? Le code
que tu as publié dans ton premier post n'est pas tout à fait le même que
celui de la macro.
Daniel
"François"
Bonjour Daniel,

Je te remercie pour ton aide. Ci joint le fichier en question.
http://cjoint.com/?hnpIh2MOBL
Je reste à ta disposition pour tout complément d'info.

Cordialement.
François
"Daniel"
Bonjour.
Sans voir l'agencement des données, c'est difficile à comprendre.
Peux-tu mettre un classeur exemple, en effaçant les données
confidentielles, sur www.cjoint.com
Cordialement.
Daniel
"François"
Bonjour,

Dans le code ci joint, j'essaie de compter le nombre de valeur, puis de
stocker la valeur de la cellule +1, et ensuite de positionner ces
valeurs dans une somme. Je n'y arrive vraiment pas....

Si quelqu'un a une idée :-))

Cordialement,
François

For Departcol = 9 To Derc Step 13
For Each Cel In Range("A4:A" & Derl)
DateD = Cells(1, Departcol)
DateD = CDate(DateD)
Brut = Cells(Cel.Row, 8)
If Cel = "JT" Then
If DateD >= Cells(Cel.Row, 6) And (DateD <= Cells(Cel.Row, 7)
Or Cells(Cel.Row, 7) = "") Then
For i = 1 To Cel.Count
If Month(DateD) = 12 Then
Brut = Brut * 2
ElseIf Month(DateD) = 5 Then
Brut = Brut + (Brut * (1 / 30))
Else
Brut = Brut
End If
Brut = Application.WorksheetFunction.Substitute(Brut, ",", ".")
ici==> Brut = Brut & "" & Brut(i) & "" & ","
Next i
ici==> .Cells(Ligne, 4) = "=sum(" & Brut & ")"

End If












François
Le #4871361
Daniel,

La variable brut me permet, si le mois = 12 de multiplier la valeur par 2
(Cells(Cel.row,8)) car c'est un mois qui compte double.

Dans les paramètres régionaux, mon caractère décimal est la virgule. La
macro en question s'appelle "Sub RemplirTableau"

Résultat recherché : Chaque fois que ma valeur en colonne 1 = "JT", je
prends la valeur brut, je teste le mois (variable brut), et je positionne ce
montant dans une fonction somme.
Exemple : Si JT = 4, j'aurais "=Sum(Brut1, Brut2, Brut3, Brut4)
Si JT = 2, j'aurais "=Sum(Brut1, Brut2)

Merci encore pour ton aide.

"Daniel" ugrqA$
Je ne comprends pas ce que tu fais avec la variable "brut", tu fais des
calculs, et après, tu veux remplacer la virgule par un point ? Quel est
ton caractère décimal ? Peux-tu donner un exemple de ce que tu veux ? Le
code que tu as publié dans ton premier post n'est pas tout à fait le même
que celui de la macro.
Daniel
"François"
Bonjour Daniel,

Je te remercie pour ton aide. Ci joint le fichier en question.
http://cjoint.com/?hnpIh2MOBL
Je reste à ta disposition pour tout complément d'info.

Cordialement.
François
"Daniel"
Bonjour.
Sans voir l'agencement des données, c'est difficile à comprendre.
Peux-tu mettre un classeur exemple, en effaçant les données
confidentielles, sur www.cjoint.com
Cordialement.
Daniel
"François"
Bonjour,

Dans le code ci joint, j'essaie de compter le nombre de valeur, puis de
stocker la valeur de la cellule +1, et ensuite de positionner ces
valeurs dans une somme. Je n'y arrive vraiment pas....

Si quelqu'un a une idée :-))

Cordialement,
François

For Departcol = 9 To Derc Step 13
For Each Cel In Range("A4:A" & Derl)
DateD = Cells(1, Departcol)
DateD = CDate(DateD)
Brut = Cells(Cel.Row, 8)
If Cel = "JT" Then
If DateD >= Cells(Cel.Row, 6) And (DateD <= Cells(Cel.Row,
7) Or Cells(Cel.Row, 7) = "") Then
For i = 1 To Cel.Count
If Month(DateD) = 12 Then
Brut = Brut * 2
ElseIf Month(DateD) = 5 Then
Brut = Brut + (Brut * (1 / 30))
Else
Brut = Brut
End If
Brut = Application.WorksheetFunction.Substitute(Brut, ",", ".")
ici==> Brut = Brut & "" & Brut(i) & "" & ","
Next i
ici==> .Cells(Ligne, 4) = "=sum(" & Brut &
")"

End If
















isabelle
Le #4871321
bonjour Francois,

d = "=Sum("
For i = 1 To 4
d = d & "Brut" & i & ","
Next
Range("A1") = Left(d, Len(d) - 1) & ")"

isabelle


Daniel,

La variable brut me permet, si le mois = 12 de multiplier la valeur par 2
(Cells(Cel.row,8)) car c'est un mois qui compte double.

Dans les paramètres régionaux, mon caractère décimal est la virgule. La
macro en question s'appelle "Sub RemplirTableau"

Résultat recherché : Chaque fois que ma valeur en colonne 1 = "JT", je
prends la valeur brut, je teste le mois (variable brut), et je positionne ce
montant dans une fonction somme.
Exemple : Si JT = 4, j'aurais "=Sum(Brut1, Brut2, Brut3, Brut4)
Si JT = 2, j'aurais "=Sum(Brut1, Brut2)

Merci encore pour ton aide.

"Daniel" ugrqA$

Je ne comprends pas ce que tu fais avec la variable "brut", tu fais des
calculs, et après, tu veux remplacer la virgule par un point ? Quel est
ton caractère décimal ? Peux-tu donner un exemple de ce que tu veux ? Le
code que tu as publié dans ton premier post n'est pas tout à fait le même
que celui de la macro.
Daniel
"François"

Bonjour Daniel,

Je te remercie pour ton aide. Ci joint le fichier en question.
http://cjoint.com/?hnpIh2MOBL
Je reste à ta disposition pour tout complément d'info.

Cordialement.
François
"Daniel"

Bonjour.
Sans voir l'agencement des données, c'est difficile à comprendre.
Peux-tu mettre un classeur exemple, en effaçant les données
confidentielles, sur www.cjoint.com
Cordialement.
Daniel
"François"

Bonjour,

Dans le code ci joint, j'essaie de compter le nombre de valeur, puis de
stocker la valeur de la cellule +1, et ensuite de positionner ces
valeurs dans une somme. Je n'y arrive vraiment pas....

Si quelqu'un a une idée :-))

Cordialement,
François

For Departcol = 9 To Derc Step 13
For Each Cel In Range("A4:A" & Derl)
DateD = Cells(1, Departcol)
DateD = CDate(DateD)
Brut = Cells(Cel.Row, 8)
If Cel = "JT" Then
If DateD >= Cells(Cel.Row, 6) And (DateD <= Cells(Cel.Row,
7) Or Cells(Cel.Row, 7) = "") Then
For i = 1 To Cel.Count
If Month(DateD) = 12 Then
Brut = Brut * 2
ElseIf Month(DateD) = 5 Then
Brut = Brut + (Brut * (1 / 30))
Else
Brut = Brut
End If
Brut = Application.WorksheetFunction.Substitute(Brut, ",", ".")
ici==> Brut = Brut & "" & Brut(i) & "" & ","
Next i
ici==> .Cells(Ligne, 4) = "=sum(" & Brut &
")"

End If


















François
Le #4871111
Bonjour Isabelle,

Merci pour ta réponse.

Sauf que brut1, 2,... = un nombre donc la formule doit devenir
=Sum(100;256;...)

Comment faire car là, je suis vraiment bloqué !

Merci encore

"isabelle" a écrit dans le message de news:

bonjour Francois,

d = "=Sum("
For i = 1 To 4
d = d & "Brut" & i & ","
Next
Range("A1") = Left(d, Len(d) - 1) & ")"

isabelle



isabelle
Le #4870971
est ce qu'il faut que la formulle soit placer dans une cellule, ou seulement sont résultat ?

isabelle

Bonjour Isabelle,

Merci pour ta réponse.

Sauf que brut1, 2,... = un nombre donc la formule doit devenir
=Sum(100;256;...)

Comment faire car là, je suis vraiment bloqué !

Merci encore

"isabelle" a écrit dans le message de news:


bonjour Francois,

d = "=Sum("
For i = 1 To 4
d = d & "Brut" & i & ","
Next
Range("A1") = Left(d, Len(d) - 1) & ")"

isabelle








François
Le #4870951
Seulement son résultat.

François
"isabelle" a écrit dans le message de news:
%
est ce qu'il faut que la formulle soit placer dans une cellule, ou
seulement sont résultat ?

isabelle

Bonjour Isabelle,

Merci pour ta réponse.

Sauf que brut1, 2,... = un nombre donc la formule doit devenir
=Sum(100;256;...)

Comment faire car là, je suis vraiment bloqué !

Merci encore

"isabelle" a écrit dans le message de news:


bonjour Francois,

d = "=Sum("
For i = 1 To 4
d = d & "Brut" & i & ","
Next
Range("A1") = Left(d, Len(d) - 1) & ")"

isabelle









isabelle
Le #4870921
voici un exemple,

Sub macro1()
Brut1 = 10
Brut2 = 10
Brut3 = 10
Brut4 = 10
v = Array(Brut1, Brut2, Brut3, Brut4)
For i = 0 To 3
resultat = resultat + v(i)
Next
MsgBox resultat
End Sub

isabelle


Seulement son résultat.

François
"isabelle" a écrit dans le message de news:
%

est ce qu'il faut que la formulle soit placer dans une cellule, ou
seulement sont résultat ?

isabelle


Bonjour Isabelle,

Merci pour ta réponse.

Sauf que brut1, 2,... = un nombre donc la formule doit devenir
=Sum(100;256;...)

Comment faire car là, je suis vraiment bloqué !

Merci encore

"isabelle" a écrit dans le message de news:



bonjour Francois,

d = "=Sum("
For i = 1 To 4
d = d & "Brut" & i & ","
Next
Range("A1") = Left(d, Len(d) - 1) & ")"

isabelle












François
Le #4870791
Bonsoir Isabelle,

Désolé, je n'arrive pas à l'adapter. Ci dessous un exemple. c'est un fichier
dans les lignes sont variables >100 !

Service Montant1 Montant n
JT 100 20
HJ 150 39
YU 20 49
JT 35 56

Je ne passe pas par la fonction sommeprod, car selon la colonne de montant
(n), une opération s'effectue sur la valeur.

Résultat = Si Service = JT alors somme(100;35;somme(20*2;56*2);somme(n))

Je te remercie encore pour tes lumières !

Cordialement,
François
"isabelle" a écrit dans le message de news:

voici un exemple,

Sub macro1()
Brut1 = 10
Brut2 = 10
Brut3 = 10
Brut4 = 10
v = Array(Brut1, Brut2, Brut3, Brut4)
For i = 0 To 3
resultat = resultat + v(i)
Next
MsgBox resultat
End Sub

isabelle




Publicité
Poster une réponse
Anonyme