Somme ligne variable

Fermé
ChaiLee Messages postés 13 Date d'inscription samedi 31 mars 2018 Statut Membre Dernière intervention 28 octobre 2019 - 9 déc. 2018 à 21:45
ChaiLee Messages postés 13 Date d'inscription samedi 31 mars 2018 Statut Membre Dernière intervention 28 octobre 2019 - 16 déc. 2018 à 23:01
Bonjour,

J'aimerais, si possible sans développer de macro, trouver une formule pour copier une somme avec un nombre de ligne variable

le but est de copier la formule "stock" sur toutes les lignes stock




ça parait simple, mais je sèche
cijoint une photo, j'ai pas trouvé le lien pour la pcs jointe xls
Un grand merci par avance pour votre aide

Chaiii
A voir également:

5 réponses

titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
9 déc. 2018 à 21:58
Bonsoir,

Le nombre de lignes est amené a changer ou il est fixe?
Pour poster un fichier, tu peux utiliser le site gratuit suivant si jamais : https://www.cjoint.com/
Ce site génère un lien d'accès pour télécharger le fichier.

Jc
0
ChaiLee Messages postés 13 Date d'inscription samedi 31 mars 2018 Statut Membre Dernière intervention 28 octobre 2019
9 déc. 2018 à 22:38
bonsoir Jc,

oui le nombre de ligne est amené à changer, c'est là le problème, et il y a env 4000 codes produits...

merci pour le site de pcs jointe, voici le lien
https://www.cjoint.com/c/HLjvKbHA3BZ

Bonne soirée
Chaiii
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
9 déc. 2018 à 22:47
Salut Chaiii,

Pour ma part je vois pas de solution autre qu'en VBA pour avoir une formule adaptative si tu es susceptible d'ajouter des lignes dans ton tableau régulièrement...

Jc
0
ChaiLee Messages postés 13 Date d'inscription samedi 31 mars 2018 Statut Membre Dernière intervention 28 octobre 2019
9 déc. 2018 à 22:53
oui c'est des extracts de logiciel d'entreprise, le nombre de lignes est complètement variables
en VBA je suis toujours preneur, mais je suis pas expert
Tu penses à une macro pas trop lourde?
Chaiii
0
Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
Modifié le 10 déc. 2018 à 01:46

Bonjour.

Peut-être une piste : Il existe une solution efficace et sans macro, la fonction DONNÉES/Sous-Total, pour obtenir en D9 la somme D2:D8.
Il restera à gérer les reports de stocks ...

0
Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
10 déc. 2018 à 01:50
Comment sont renseignées tes lignes ? Une à une au clavier, ou par une procédure d'importation ?
0
titeufdu89 Messages postés 375 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 1 avril 2023 38
Modifié le 10 déc. 2018 à 10:53
Bonjour,

Ci-joint une solution avec VBA
https://www.cjoint.com/c/HLkj0x2hllN

Le code en question est le suivant :
Sub ajout_formule_stock()
Dim der_col As Long, i As Long, deb As Long
der_col = Range("XV1").End(xlToLeft).Column

For i = 2 To Range("A66536").End(xlUp).Row
    If Range("B" & i) = "stock" Then
    deb = i - 1
        Do While deb > 1 And Range("B" & deb) <> "stock"
        deb = deb - 1
        Loop
    deb = deb + 1
    Range("D" & i).FormulaR1C1 = "=RC[-1]+SUM(R" & deb & "C:R[-1]C)"
    Range("D" & i).AutoFill Destination:=Range(Cells(i, 4), Cells(i, der_col)), Type:=xlFillDefault
    End If
Next i
End Sub


Il recherche sur toute la longueur du tableau les cellules qui contiennent le mot "stock" et ajoute sur ces lignes formule somme additionnant les lignes située au dessus jusqu'au précédant "stock" + la valeur de la cellule de gauche de la ligne stock en question. Enfin la formule est recopiée dans toutes les colonnes non vides du tableau en question.

Bonne journée
0
ChaiLee Messages postés 13 Date d'inscription samedi 31 mars 2018 Statut Membre Dernière intervention 28 octobre 2019
16 déc. 2018 à 23:01
Cher Titeuf,

Quel talent!!!
un grand MERCI
je te recontacterai avec plaisir;)
Bonne soirée
Chaiii
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
10 déc. 2018 à 11:53
Bonjour à tous,

Un SOMMEPROD devrait faire l'affaire.
En D9, tu mets =SOMMEPROD(($A$2:$A8=$A9)*D$2:D8)+C9 que tu recopies jusqu'en BB9.

Tu sélectionnes D9:BB9, tu fais un copier (CTRL+C).
Tu sélectionnes D13, puis en maintenant la touche CTRL enfoncée, tu sélectionnes D20, D24, D32, D38.
Tu fais un coller (CTRL+V).

J'espère que tu n'as pas 100.000 lignes à traiter.

Cordialement
0