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 :

[Macro] Combinaisons de produits


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut [Macro] Combinaisons de produits
    Bonjour, je n’y connais rien en programmation et je voulais savoir si excel ou son solveur peut résoudre un problème que voici :

    A B C
    1 1 3 2
    2 1 2 4
    3 2 2 2
    C’est un exemple de matrice avec trois colonnes A,B et C et trois lignes 1,2 et 3. Pardon pour la mise en page, difficile de faire un tableau.
    Dans cet exemple :
    A1= 1, A2=1 , A3=2
    B1=3 , B2=2 , B3=2
    C1=2 , C2=4, C3=2

    Je cherche un programme qui fasse dans sa tête le produit de toutes les combinaisons possibles des lignes (dans cet exemple il y en a 27 : A1*A2*A3, A1*B2*A3 etc…) et qui affiche uniquement celles qui répondent à une condition (le produit doit être supérieur à un certain nombre, exemple 10). Donc dans cet exemple, si par exemple je veux uniquement les combinaisons dont le produit est supérieur à 10, j’aurai dans mes résultats affichés notamment :
    B1*B2*B3
    B1*B2*C3
    C1*C2*C3
    Etc…Car ces combinaisons sont supérieures à 10.

    La forme est secondaire, ça peut être un affichage du style B1B2B3 ou autre chose, l’essentiel est que les réponses soient sous forme de combinaisons et non les nombres correspondants, par exemple, je veux la réponse B1B2B3 et non pas 15.

    Je ne sais pas si ce problème est simple ou compliqué, si Excel ou son solveur peut le résoudre . Sinon pourriez-vous me dire quel programme peut le faire, merci infiniment de me répondre et de me venir en aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    Tu peux tester cette procédure:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Sub Test()
        'A1 correspond à la cellule du coin supérieur gauche dans le tableau 3x3
        '10 correspond à la condition de produit
        ExtractionTableau Range("A1"), 10
    End Sub
     
     
    Sub ExtractionTableau(Cell As Range, Cible As Integer)
    Dim i As Byte, j As Byte, k As Byte
    Dim a As Byte
     
    For i = 0 To 2
        For j = 0 To 2
            For k = 0 To 2
                If Cell.Offset(0, i) * Cell.Offset(1, j) * Cell.Offset(2, k) > Cible Then
                a = a + 1
                Cell.Offset(a, 6) = Cell.Offset(0, i).Address(False, False) & "-" & _
                    Cell.Offset(1, j).Address(False, False) & "-" & _
                    Cell.Offset(2, k).Address(False, False)
                End If
            Next k
        Next j
    Next i
     
    End Sub


    michel

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut
    Merci Michel pour votre réponse. Malheureusement allez j'ose l'avouer je suis un peu nul en informatique, donc concrètement quand j'ouvre excel, je vais où et je fais quoi pour tester cette procédure?

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    Quand tu es dans la feuille de calcul:
    Utilise les touches raccourci Alt+F11 pour accéder à l'éditeur de macros.
    puis le menu Insertion/Module
    Colle la macro dans le module

    Ensuite utilise le menu Execution/Executer Sub
    Lance la macro "Test"



    michel

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut
    Je viens de lire votre réponse et je viens d'essayer, ça marche ! Un énorme merci Je vous tiens au courant pour un nombre de lignes plus grand, merci encore pour votre précieuse procédure !

Discussions similaires

  1. Macro VBA pour produits Autodesk
    Par eliamat dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/05/2015, 10h08
  2. Calcul des combinaisons de produits par paquet de longueur fixe
    Par ELIStheWORLD dans le forum Algorithmes et structures de données
    Réponses: 20
    Dernier message: 04/03/2015, 09h53
  3. Réponses: 2
    Dernier message: 17/10/2008, 18h17
  4. Lire l'ID Produit par Macro
    Par malabarbe dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/07/2008, 10h56
  5. Identifier nouveau produit (combinaison 2 cles)
    Par MOICMOI dans le forum Access
    Réponses: 2
    Dernier message: 07/05/2007, 18h35

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