IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

effectuer une somme conditionnelle concernant 6 cellules et boucler sur 150 lots de 6 cellules


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 11
    Points : 7
    Points
    7
    Par défaut effectuer une somme conditionnelle concernant 6 cellules et boucler sur 150 lots de 6 cellules
    Bonjour

    Je travaille sur un fichier Excel 2010 qui gère des marchés de travaux.
    On choisit un projet et un numéro de marché et les infos s'affichent et peuvent être modifiées, le tout étant réinjecté dans une feuille BDD;

    - Un marché de travaux peut avoir 150 OS

    - Chaque OS est défini par 6 cellules :
    . Objet OS1
    . Date signature OS1
    . Montant OS1
    . État OS1
    . Affectation OS1
    . Avenant OS1



    Dans la feuille Tableau de bord marchés de travaux, il est nécessaire d'additionner les montants des OS en fonction de critères.

    PREMIER CALCUL : Additionner les OS qui ont un état "Prévisionnel" et une affectation "MOE"
    DEUXIÈME CALCUL : Additionner les OS qui ont un état "Prévisionnel" et une affectation "MAE"
    .....

    J'ai commencé avec une formule SI & ET mais c'est fou de la faire 150 fois dans la barre de formules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SIERREUR(SI(ET(W199="Prévisionnel";W200="MOE");W198;"")+SI(ET(W205="Prévisionnel";W206="MOE");W204;"");"")
    QUESTION : Comment faire une macro qui boucle sur les 150 lots d'OS avec addition des cellules Montant si cellule etat = prévisionnel et cellule affectation = MOE ?

    Voici le début d'une macro mais je ne suis pas assez calée pour la finaliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Macro1()
     
        ActiveCell.FormulaR1C1 = _
            "=IFERROR(IF(AND(R[183]C[21]=""Prévisionnel"",R[184]C[21]=""MOE""),R[182]C[21],"""")+IF(AND(R[189]C[21]=""Prévisionnel"",R[190]C[21]=""MOE""),R[188]C[21],""""),"""")"
     
    End Sub
    Voilà, j'espère avoir été assez claire ...
    Le fichier allégé est en pièce jointe
    Je me tiens à disposition si nécessaire

    Merci beaucoup de votre aide
    Nathalie
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Points : 1 562
    Points
    1 562
    Par défaut
    Bonjour,

    J'ai regardé votre exemple et vos explications, mais je n'ai toujours pas compris (café manquant?)
    On choisit un projet et un numéro de marché et les infos s'affichent et peuvent être modifiées, le tout étant réinjecté dans une feuille BDD
    => c'est choisi comment? un projet = 1 numéro de marché?

    Un marché de travaux peut avoir 150 OS

    - Chaque OS est défini par 6 cellules :
    . Objet OS1
    . Date signature OS1
    . Montant OS1
    . État OS1
    . Affectation OS1
    . Avenant OS1
    => L'Objet OS1 est il le même pour le projet1 et pour le projet2 (si c'est pertinent) .... Comment sont faits les liens Projet => OS?

    Si vous pourviez compléter votre tableau avec quelques exemples bidond, ça aiderait ....

    PS: une pivot table pourrait peut-être vous régler pas mal de points ....
    Bon projet de journée !!!

    Vincent
    "Idéalement nous sommes ce que nous pensons. Dans la réalité, nous sommes ce que nous accomplissons." A.Senna
    et n'oubliez-pas de développer des .... sourires ^_^

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    rebonjour

    3 éme café

    A un projet correspondent plusieurs numéro de marché.
    Deux boutons liste sont programmés pour aller chercher la bonne ligne dans la BDD en fonction du libellé de projet choisi ainsi que du numéro de marché choisi

    Une fois le projet /marché identifié, les infos s'affichent dans les cellules de la colonne B dans le fichier joint
    Chaque marché peut avoir 150 OS maxi
    OS intitulé os 1, os2 et référencé sur chaque marché

    La somme concerne les OS d'un même marché : de A195 à A1094

    Nathalie
    Fichiers attachés Fichiers attachés

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Points : 1 562
    Points
    1 562
    Par défaut
    Après quelques cafés:

    - Boucler ne devrait pas être bien difficile
    - Si vous pouviez remplacer les cellules colonnes B par leur valeur, ça m'aiderait .... (I.e =INDEX('C:\Users\Downloads\[FICIER_PROPRE_BDD_30OCTOBRE_T0.xlsm]TB_Marche_Travaux'!Libellé_projet,num_marche_choisi_TBTX), elles sont toutes en erreur (lien manquant)
    - Je reste persuadé qu'un TCD/PivotTable vaut le coup d'être investigué

    Vincent
    "Idéalement nous sommes ce que nous pensons. Dans la réalité, nous sommes ce que nous accomplissons." A.Senna
    et n'oubliez-pas de développer des .... sourires ^_^

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    voici avec les valeurs

    Nathalie
    Fichiers attachés Fichiers attachés

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Points : 1 562
    Points
    1 562
    Par défaut
    Bon, j'y vais franchement ...

    1. Il suffirait de transposer votre sturcture de données (col A et B) et de la modifier légèrement pour avoir le résultat direct .... car après, un TCD donne un résultat immédiat (voir fichier joint)
    2. Avez-vous cette possibilité? J'espère que oui .... et est-ce acceptable?

    Après, vous avez tout dans la pivot table (voir feuille TCD) et vous pouvez jouer avec le filtre

    Classeur1 (3).xlsx
    "Idéalement nous sommes ce que nous pensons. Dans la réalité, nous sommes ce que nous accomplissons." A.Senna
    et n'oubliez-pas de développer des .... sourires ^_^

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 11
    Points : 7
    Points
    7
    Par défaut resolu
    Merci beaucoup j'avoue que je voulais éviter de tout transposer mais finalement, c'est le plus simple.
    Concernant power pivot, je vais regarder de plus près.
    Je vous remercie beaucoup de votre aide

    Bonne journée

  8. #8
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Points : 1 562
    Points
    1 562
    Par défaut
    mais .... avec plaisir: si la transposition vous pose des soucis, VBA sait très bien le faire aussi
    "Idéalement nous sommes ce que nous pensons. Dans la réalité, nous sommes ce que nous accomplissons." A.Senna
    et n'oubliez-pas de développer des .... sourires ^_^

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    lol je vais vraiment demander une formation.
    A +
    Nathalie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Effectuer des "sommes conditionnelles"
    Par bigben89 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 24/08/2007, 16h34
  2. Faire une somme conditionnelle
    Par pilpoil dans le forum Excel
    Réponses: 6
    Dernier message: 10/08/2007, 14h46
  3. n'arrive pas a recuperer mes id pour effectuer une somme
    Par CROSS dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/07/2007, 15h09
  4. [VBA-E]- Probleme pour realiser une somme conditionnelle
    Par ekynoxx dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 04/05/2007, 12h18
  5. Réponses: 4
    Dernier message: 19/10/2005, 09h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo