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 regrouper et sommer [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 93
    Par défaut macro regrouper et sommer
    bonjour tout le monde !!
    je viens de commencer une macro et je bloque sur une partie des instructions .
    je vais détailler mon tableau:

    article   trim1  trim2  trim3  trim4  total
    c         65     65     684    6465   6846
    x         687    68     68     68     6876
    x
    c
    xx
    rx
    xf
    xxs
    j'aimerais changer premièrement les codes articles afin de les traduire en famille d'article ,c'est la première fonction remplacer qui tourne sans soucis.

    mais la deuxième partie me pose quelques problèmes car je dois regrouper par code article et sommer en même temps les chiffres correspondant afin de les stocker dans la même ligne et supprimer la ligne du deuxième enregistrement .

    je vois pas comment récupérer le num de ligne de l'ancien code et qui va être changer afin de pointer dessus pour faire la somme avec le prochain!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Remplacer()
    Dim Cel As Range
    Dim Plg As Range
    Set Plg = Range("A4:A200")
    For Each Cel In Plg
         If Cel Like "x*" Then Cel = "yyy"      
         Next Cel
    'Call Regrouper (Val, Cel)
    End Sub
    'Sub Regrouper(Plg,Cel)
    'je désire regrouper les lignes contenant les yyy et sommer les enregistrement correspondant.
    'stocker la somme dans la cellule de la plus petite ligne correspondante au"yyy"
    'End Sub

    merci beaucoup

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    essayes comme ça :
    si tu es sur que c'est "x*" et non "*x*",sinon adaptes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Remplacer()
    Dim Cel As Range
    Dim Plg As Range, y As Currency, celtot As String
    Set Plg = Range("A4:A200")
    y = 0
    For Each Cel In Plg
      If Cel Like "x*" Then
        If y = 0 Then celtot = Cel(1, 7).Address'à vérifier où coller le résultat
        y = y + Cel(1, 6)
      End If
    Next Cel
    Range(celtot) = y
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 93
    Par défaut
    merci pour votre aide, je pense que je me suis mal exprimé ou compris cotre code car ,ce que je voulais dire :
    je veux passer du premier au deuxième tableau .

    article  trim1  trim2  trim3  trim4  total    
    c           20     10     20     20     90       
    x           10     20     10     20     60       
    x           10     10     10     10     40
    c           20     20     20     20     80
    xx
    rx
    xf
    xxs
    article  trim1  trim2  trim3  trim4  total
     x          20     30     20     30    100
     c          40     30     40     40    170
    c'est pour cela que je voulais faire en deux étapes le remplacement des codes articles avant les regroupements par somme .

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Envoies un fichier bidon ou une image car visuellement, ça prend la tête, surtout que j'ai la grippe et la tête comme une citrouille
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 93
    Par défaut
    je vous envoie un fichier pour mieux m'expliquer !!

    je veux regrouper les références articles en décomposant premièrement le code article et garder juste la partie avant le séparateur "-" seulement pour les articles commençant par la lettre x .

    je pense qu'un visuel sur le fichier excel apportera plus de clarté.

    merci et bonne convalescence
    Fichiers attachés Fichiers attachés

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 93
    Par défaut
    j'essaie toujours de trouver une alternative car je sais pas si avec un split ,on peut exiger deux conditions :

    -une pour appliquer le split que sur les champs qui commencent avec x
    -une pour supprimer les caractères juste après le "-" . même le tiret !!

    du coup j'ai pensé à une alternative en deux temps :
    la première fonction va m'aider à faire une première partie du travail
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    'Sub Test() 
      Dim Pos As Integer
       Dim I As Long
        'dans la colonne B
        For I = 1 To Range("B" & Rows.Count).End(xlUp).Row
           With Range("B" & I)
             Pos = InStr(.Value, "X")
             If Pos <> 0 Then
                   .Value = Left(.Value, InStr(.Value, "") + 3)
               End If
            End With
        Next I
     End Sub
    ma question est la suivante ; est ce que je peux me baser sur cette fonction pour regrouper les champs concernées et faire la somme tout en supprimant les lignes traités ?

    ou il faut que j'appelle une deuxième fonction pour effectuer la suite ?

    merci à vous

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/11/2012, 12h27
  2. VBA/MACRO : Regrouper la somme des doublons avec conditions
    Par suzette69 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/06/2012, 20h24
  3. [Toutes versions] Macro regroupant plusieurs classeurs dans une seule feuille
    Par lisandjo dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/04/2012, 07h52
  4. [XL-2010] Macro regroupement d'onglets
    Par maxime42 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/02/2012, 19h14
  5. [Toutes versions] Macro regroupement -transpose
    Par obie78 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/10/2010, 22h44

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