La multiplication de cellule variable d'une colonne par la valeur d'une cellule
Résolu
DEVPLUS
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour cher forum,
Je rame sur le problème suivant :
Mon code est le suivant :
Sub calcul()
Dim sh As Worksheet
Set sh = Worksheets("Info")
sh.Activate
Dim i As Integer
dim j as integer
For i = 1 To 100
For j = 1 To 1
While sh.Cells((i + 18), 2) <> ""
If sh.Cells((i + 18), 5).Value & sh.Cells((i + 18), 6).Value <> "" Then
sh.Cells((i + 18), 7).Value = sh.Cells((i + 18), 5).Value * sh.Cells((i + 18), 6).Value
sh.Cells((i + 18), 8) = sh.Cells((i + 18), 6).Value * sh.Cells(12, 10).Value
sh.Cells((i + 18), 9) = sh.Cells((i + 18), 5).Value * sh.Cells((i + 18), 8).Value
sh.Cells(19, 18) = Application.WorksheetFunction.Sum(sh.Range("i19:i400"))
sh.Cells(20, 18) = Application.WorksheetFunction.Sum(sh.Range("c14,c15,c16,f11,f12,f13,f15,f16,j14,j15,j16,t22"))
' calcul du coefficient
sh.Cells(21, 18).Value = "=R[-1]C[0]/R[-2]C[0]"
sh.Cells((i + 18), 17).Value = sh.Cells((i + 18), 8).Value * sh.Cells(21, 18).Value
End If
i = i + 1
Wend
Next j
Next i
End Sub
Je voudrais que dans la cellule Q(i+18), la formule entrée soit H(i+18)*(R21)
Évidemment, cela ne fonctionne pas.. j'ai fait plusieurs recherches sur ce forum et sur google mais en vain.. Je me résout à demander votre aide..
merci!
Je rame sur le problème suivant :
Mon code est le suivant :
Sub calcul()
Dim sh As Worksheet
Set sh = Worksheets("Info")
sh.Activate
Dim i As Integer
dim j as integer
For i = 1 To 100
For j = 1 To 1
While sh.Cells((i + 18), 2) <> ""
If sh.Cells((i + 18), 5).Value & sh.Cells((i + 18), 6).Value <> "" Then
sh.Cells((i + 18), 7).Value = sh.Cells((i + 18), 5).Value * sh.Cells((i + 18), 6).Value
sh.Cells((i + 18), 8) = sh.Cells((i + 18), 6).Value * sh.Cells(12, 10).Value
sh.Cells((i + 18), 9) = sh.Cells((i + 18), 5).Value * sh.Cells((i + 18), 8).Value
sh.Cells(19, 18) = Application.WorksheetFunction.Sum(sh.Range("i19:i400"))
sh.Cells(20, 18) = Application.WorksheetFunction.Sum(sh.Range("c14,c15,c16,f11,f12,f13,f15,f16,j14,j15,j16,t22"))
' calcul du coefficient
sh.Cells(21, 18).Value = "=R[-1]C[0]/R[-2]C[0]"
sh.Cells((i + 18), 17).Value = sh.Cells((i + 18), 8).Value * sh.Cells(21, 18).Value
End If
i = i + 1
Wend
Next j
Next i
End Sub
Je voudrais que dans la cellule Q(i+18), la formule entrée soit H(i+18)*(R21)
Évidemment, cela ne fonctionne pas.. j'ai fait plusieurs recherches sur ce forum et sur google mais en vain.. Je me résout à demander votre aide..
merci!
A voir également:
- La multiplication de cellule variable d'une colonne par la valeur d'une cellule
- Déplacer une colonne excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- Trier une colonne excel - Guide
2 réponses
Bonsoir
tu apprécies que des bénévoles te répondent et résolvent tes problèmes.
Poster un code avec la coloration syntaxique facilite la lecture et donc la vie des bénévoles qui t'aident.
Dans ton dernier post il y a à peine quelques jours https://forums.commentcamarche.net/forum/affich-35661625-rechercher-une-reference-a-partir-de-textbox#1 , yg_be te l'as encore rappelé, et pourtant, encore une fois tu n'as pas fait l'effort.... Tu vas te contenter t'attendre qu'un modérateur édite ton message pour toi.
Ben tu vois, ça ne me donne pas envie de t'aider.
tu apprécies que des bénévoles te répondent et résolvent tes problèmes.
Poster un code avec la coloration syntaxique facilite la lecture et donc la vie des bénévoles qui t'aident.
Dans ton dernier post il y a à peine quelques jours https://forums.commentcamarche.net/forum/affich-35661625-rechercher-une-reference-a-partir-de-textbox#1 , yg_be te l'as encore rappelé, et pourtant, encore une fois tu n'as pas fait l'effort.... Tu vas te contenter t'attendre qu'un modérateur édite ton message pour toi.
Ben tu vois, ça ne me donne pas envie de t'aider.
ben c'est toi qui à mis x dans le 2eme for, i aurait marché pareil
1- pourquoi nous avons utilisé 02 variables pour les mêmes lignes (i,x)
2-les colonnes sh.Cells(x, 17),sh.Cells(x, 10),sh.Cells(x, 11) sont rempli jusqu'à la ligne 1002 fois (donc 3 maintenant) je t'ai écrit
For i = 19 To 118pas 100
Merci Whismeril,
Maintenant l'operation fonctionne bien:
Maintenant l'operation fonctionne bien:
Dim x As Integer For x = 19 To 100 If sh.Cells(x, 8) = "" Then sh.Cells(x, 10) = "" Else If sh.Cells(x, 8) <> "" Then sh.Cells(x, 17).Formula = sh.Cells(x, 8) * sh.Cells(21, 18) sh.Cells(x, 10).Formula = sh.Cells(x, 8) + sh.Cells(19, 17) sh.Cells(x, 11).Formula = sh.Cells(x, 10) * sh.Cells(19, 5) End If End If Next x End Sub
Puisque tu ne fais pas l'effort de rendre ton code présentable, pourquoi nous ferions l'effort de t'aider bénévolement.
Mon code est le suivant :
Sub calcul()
Dim sh As Worksheet
Set sh = Worksheets("Info")
sh.Activate
Dim i As Integer
dim j as integer
For i = 1 To 100
For j = 1 To 1
While sh.Cells((i + 18), 2) <> ""
If sh.Cells((i + 18), 5).Value & sh.Cells((i + 18), 6).Value <> "" Then
sh.Cells((i + 18), 7).Value = sh.Cells((i + 18), 5).Value * sh.Cells((i + 18), 6).Value
sh.Cells((i + 18), 8) = sh.Cells((i + 18), 6).Value * sh.Cells(12, 10).Value
sh.Cells((i + 18), 9) = sh.Cells((i + 18), 5).Value * sh.Cells((i + 18), 8).Value
sh.Cells(19, 18) = Application.WorksheetFunction.Sum(sh.Range("i19:i400"))
sh.Cells(20, 18) = Application.WorksheetFunction.Sum(sh.Range("c14,c15,c16,f11,f12,f13,f15,f16,j14,j15,j16,t22"))
' calcul du coefficient
sh.Cells(21, 18).Value = "=R[-1]C[0]/R[-2]C[0]"
sh.Cells((i + 18), 17).Value = sh.Cells((i + 18), 8).Value * sh.Cells(21, 18).Value
End If
i = i + 1
Wend
Next j
Next i
End Sub
Je voudrais que dans la cellule Q(i+18), la formule entrée soit H(i+18)*(R21)
Évidemment, cela ne fonctionne pas.. j'ai fait plusieurs recherches sur ce forum et sur google mais en vain.. Je me résout à demander votre aide..
merci!
Lit bien ceci
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code