Code qui fontionne plus

bonjour

je recherche quelqu'un qui peut m'aider

j 'ai modifie ma feuille nomenclature en rajoutant une mise en forme conditionnel colonne P et une liste deroulante

depuis mon code fonctionne plus

donc j aimerai que ca refonctionne

j'explique mon code

ca calcule ma somme de pièces (colonne N) en fonction de la couleur orange (colonne SAP) de ma mise en forme conditionnel en évitant les doublons et inscrire la somme en H8

et avoir le nombre de de code SAP qu'il a compte et le marque a cote de la somme (H9)et :

arrow: dans un deuxième temps me calcule la somme des pièces en fonction de la couleur verte (contrat)toujours en fonctionne du code SAP et sans doublon

merci de votre aide

19extrududeur-v2.xlsm (114.44 Ko)

Bonjour,

vous avez 2 macro Sub MiseAjour()

dans votre fichier,

une sur Module 1 et une autre sur Module 2

laquelle est la bonne ?

bonjour

salut sabV

yeti55, pourquoi du VBA ?

la couleur n'est qu'une MFC, en réalité l'information est récupérable dans les cellules. Par de simples formules.

Oublions les couleurs qui ne servent qu'à diriger l'oeil mais ne contiennent pas d'information de base.

Connais-tu SOMMEPROD ?

magique concernant l'extraction et la syntèse de données en tableaux

nota : tu es sous SAP, je te plains !

le bon code est dans le module 2 sauf que je peux amener a rajouter des colonne dans le tableau

et pour ceux qui est la formule SOMMEPROD je connais pas

je veux faire la somme sans doublon de code SAP

SAP=GALERE

merci

Bonjour,

Une proposition à étudier sans VBA.

Cdlt.

8extrududeur-v2.xlsm (595.21 Ko)

re

Jean-Eric, bonne idée le TCD, plus facile et clair que SOMMEPROD

SAPe le moral

pas mal comme solution mais je dois faire la somme que seulement si il y un code SAP et non la somme total et surtout en additionnant une seule fois !

merci encore

re

pour additonner sous conditions à partir d'un tableau en colonnes, il faut SOMMEPROD

= SOMMEPROD( (condition1) * (condition2) * ... * (colonne à additionner) )

au début c'est galère, mais ensuite c'est magique

surtout si on exploite souvent des extraits de progiciels

joins ton fichier avec juste les colonnes intéressantes et les conditions d'addition en clair (en français)

Re,

Bonjour jmd,

Pour compléter la demande de jmd, merci de nous donner les résultats attendus pour "A créer" et "contrat".

J'ai comme l'impression que l'on additionne des choux et des carottes.

Cdlt.

re bonjour

je vous remets le fichier simplifié

si j ai bien compris la formule "

on fait la somme de prix total

1 ere condition il faut "a créer "dans la colonne "stock magasin"

2ieme condition il faut un numéro dans la colonne code SAP

et s' il il y a deux fois le même code SAP je l additionne 1 fois

ex

45,50 € A créer 5000163277

396,92 € A créer 5000163278

45,50 € A créer 5000163277

2 268,00 € contrat

939,57 € A créer

le total doit faire 442,42

Bonjour,

Pour la référence 5000163278, elle est présente 3 fois et avec 2 prix différents.

Lequel retenir ?

Cdlt.

bonjour jean eric

tu viens de relever un autre problème que je peux avoir !

Comme le prix total est calcule en fonction du nombre de sécurité et du prix unitaire.

Je viens de corriger, je prix doit être le même.

je vous revoie le fichier

Re,

Une nouvelle proposition à analyser.

Cdlt.

17extrududeur-v4.xlsm (416.65 Ko)

tu peux m expliquer la formule somme (plage a créer)

Re,

Regarde dans le gestionnaire de noms.

Pour nommer la plage, j'ai utilisé les fonctions DECALER et EQUIV.

Cdlt.

ok merci et bon fin de week end a toi

mais je recherche a adapter a mon tableau qui comporte plus de ligne et plus de colonne mais les noms des colonnes reste identiquje reviens toi moi

si je rajoute un code sap et a créer ca ne bouge pas ma somme?

Bonjour ,

Sub MiseAjour()
Dim i&, s!, ssd!, dico As Object, sh

Set dico = CreateObject("Scripting.Dictionary")
Set sh = Sheets("Nomenclature")

    s = 0: ssd = 0
    For i = 11 To sh.Range("I" & Rows.Count).End(xlUp).Row
        If sh.Range("I" & i).Value = "A créer" Then
            s = s + Range("H" & i).Value
            If Not dico.exists(Range("J" & i).Value) Then
                ssd = ssd + sh.Range("H" & i)
                dico(sh.Range("J" & i).Value) = sh.Range("H" & i)
            End If
        End If
    Next i
    sh.Range("C7") = s
    sh.Range("C8") = ssd

Set dico = Nothing
Set sh = Nothing
End Sub

ok merci c'est super

Rechercher des sujets similaires à "code qui fontionne"