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 :

Equivalent Sommeprod en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de BERRACHED SAID
    Inscrit en
    Janvier 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Janvier 2009
    Messages : 192
    Par défaut Equivalent Sommeprod en VBA
    Bonjour le forum

    me revoilà avec un autre problème que je sollicite votre aide pour le solutionner.
    je voudrais obtenir l'équivalent de sommprod mais en vba dans ma feuil2

    Feuil5
    A D
    263/01/2012/0001 322 505,23
    263/01/2012/0001 746 100,87
    263/01/2012/0001 10 305,35
    263/01/2012/0002 1 506,22
    263/01/2012/0002 4 509,22

    Résultat souhaité en Feuil2
    A D
    263/01/2012/0001 1 078 911,45
    263/01/2012/0002 6 015,44

    j'ai adapter un code que j'ai trouver en cherchant sur le net il régénère beaucoup d'erreurs.

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Sub sommprod()
    Dim fin_Feuil_Données As Integer
    Dim fin_Feuil_Result As Integer
    Dim i As Integer
    Dim x As Integer
    
    Feuil_Données = "Feuil5"
    Feuil_Result = "Feuil2"
    
    With Feuil5
        fin_Feuil_Données = .Range("A65000").End(xlUp).Row
        If fin_Feuil_Données = 1 Then MsgBox "Votre colonne A est vide": Exit Sub
            'Suprimme les doubles items
            For i = fin_Feuil_Données To 2 Step -1
                For x = i - 1 To 2 Step -1
                    If (Cells(i, 1) = Cells(x, 1) Or Cells(x, 1) = "") Then
                        Cells(i, 1).EntireRow.Delete
                    End If
                Next x
            Next i
         'Va chercher les montant
        fin_Feuil_Result = Feuil2.Range("A65000").End(xlUp).Row
         Feuil2.Columns("D:D").Clear
        For i = 2 To fin_Feuil_Result
            For x = 2 To fin_Feuil_Données
                If Feuil2.Cells(i, 1) = Feuil5.Cells(x, 1) Then
                   Feuil2.Cells(i, 4).Value = Feuil2.Cells(i, 4).Value + Feuil5.Cells(x, 4).Value
                   'If Sheets(Feuil_Result).Cells(i, 1) = Sheets(Feuil_Données).Cells(x, 1) Then
                   'Sheets(Feuil_Result).Cells(i, 4).Value = Sheets(Feuil_Result).Cells(i, 4).Value + Sheets(Feuil_Données).Cells(x, 4).Value
                End If
            Next
        Next
        End With
    End Sub
    une erreur incompatible de type sur la ligne coloré

    Merci d'avance et bonne journée

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,

    Si j'ai bien vu ta ligne en erreur est dans une zone With feuil5
    Donc en écrivant sur cette ligne +feuil5 tu utilise deux fois feuil5

    Essaie avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil2.Cells(i, 4).Value = Feuil2.Cells(i, 4).Value + .Cells(x, 4).Value
    Perso j'évite les With mais j'utilise des variables de type worksheet pour gérer mes feuilles, mais je crois que ce n'est qu'une question d'habitude/préférence

    A+

  3. #3
    Membre confirmé Avatar de BERRACHED SAID
    Inscrit en
    Janvier 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Janvier 2009
    Messages : 192
    Par défaut
    merci Fvandermeulen

    c'est bon pour l'erreur mais le problème c'est qu'il fait pas les additions il transfère les montant telle qu'ils sont il les met dans la colonne "D" alors vous voyez un peu le désordre que ça fait.

    Merci encore

  4. #4
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    Je ne comprends pourquoi tu supprimes des lignes entières de ta source de données tu perds forcement les valeurs associés ??? Tu supprimes tous les blancs ?

  5. #5
    Membre confirmé Avatar de BERRACHED SAID
    Inscrit en
    Janvier 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Janvier 2009
    Messages : 192
    Par défaut
    merci Ashireon

    c'est un code que j'ai trouvé sur le net et je l'ai adapter a mon cas de figure
    mais simplement il fonctionne mal il ne fait les additions pour moi la source des données est la feuil5 la feuil de destination la feuil2.

    j'aimerai avoir un coup de main

    Merci encore

  6. #6
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    Peux tu envoyer le fichier voir la structure des tables
    Dans la feuille de destination as tu bien les criteres suivant renseigné

    "263/01/2012/0001" mais une seule fois au lieu de plusieurs dans celle de données ?

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

Discussions similaires

  1. sommeProd en VBA
    Par alidroos dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 24/12/2011, 15h52
  2. recopie formule SOMMEPROD en VBA
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/11/2011, 12h16
  3. [XL-2003] Sommeprod en VBA
    Par FreeNaute93 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/12/2010, 21h46
  4. [XL-2007] Problème conversion SOMMEPROD en VBA
    Par neiluj26 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/03/2010, 14h31
  5. Conversion SOMMEPROD en VBA
    Par choudoudou15 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/06/2009, 16h41

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