Aide pour un travail sous exel

Houari100 Messages postés 37 Statut Membre -  
 foo -
salut toulemonde
j'ai un problem ; j'ai un fichier exel et dans ce fichier j'ai
colonne a colonne b colonne c colonne d
CODE BD BT ORG
101210 10 0 15
101210 20 30 17
101210 0 24 13
201433 70 35 0
201433 62 41 23
345587 10 11 0
345587 10 0 39
345587 0 11 10
345587 28 31 60
514255 15 11 0
514255 25 10 33
514255 35 0 10
. . . .
. . . .
. . . .
. . . .
et ce tableau contient plus de 9000 lignes et plusieurs numero de code .
le problem comment faire pour faire la somme de meme CODE pour le BD et BT et ORG dans un seul ligne et eviter le doublont pour tous les CODE par exemple pour le CODE 101210 ont trouve:
CODE BD BT ORG
101210 30 54 45
c'est-à-dir la somme de BD et BT et ORG pour le code 101210 dans un seul ligne
et aussi pour tous les codes , éviter le doublonts
moi j'ai besoin d'une formule oubien pour faire ce travail
et Merci .

9 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir

    une possibilité en rajoutant une colonne en tête de tableau pour comptabiliser et être utilisée par une recherchev dans la seconde feuille où se fait le regroupement des données

    https://www.cjoint.com/?0HrthGhSMo4

    Cdlmnt
    0
    1. Houari100 Messages postés 37 Statut Membre
       
      Merci pour ton aide mais quand j'ajoute des lignes dans feulle donnees la formule du colonne en tete marche acec succes mais dans la feille regroupement j'ai glisser les formules mais elles ne fonctionent pas tu peux m'éxpliquer et merci
      0
    2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      j'avais nommé la plage de données 12:E13 plagedonnees et utilisé ce nom dans les formules de regroupement

      si tu rallonges la plages il faut modoifier les references dans le nom pour étendre la plage
      0
    3. Houari100 Messages postés 37 Statut Membre
       
      j'ai pas compris tu peux m'expliquer
      merci
      0
  2. Houari100 Messages postés 37 Statut Membre
     
    Merci pour ton aide votre programme marche chez moi avec succes
    merci boucoup. et A+
    0
  3. foo
     
    bonjour

    tu peux me dire si cette macro fonctionne

    Sub Cumul()
    Application.ScreenUpdating = False
    I = 2
    Range("K2:N" & Rows.Count).ClearContents
    For L = 2 To Range("A" & Rows.Count).End(xlUp).Row
    Temp = Range("A" & L)
    If Temp <> Range("A" & L - 1) Then
    Range("K" & I).Value = Range("A" & L).Value
    Range("B" & I & ":D" & I).Copy
    Range("L" & I).PasteSpecial Paste:=xlPasteValues
    I = I + 1
    Else
    Range("B" & L & ":D" & L).Copy
    Range("L" & I - 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd
    End If
    Next
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    Range("A1").Select
    End Sub

    Merci de me repondre
    A+
    Maurice
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Houari100 Messages postés 37 Statut Membre
     
    ce macro n'est pas valable , résultat defferent ,
    0
  6. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonjour
    Une autre méthode, simple à mettre en oeuvre, sans macro, et qui pourra vous resservir dans d'autres cas, il suffit de créer un filtre "Avancé" sans doublon, puis d'appliquer une simple formule.
    Si vous ne connaissez pas les filtres "avancés", la procédure est fournie avec le fichier
    https://www.cjoint.com/c/CHsiC7T6Elj
    Même si vous ne retenez pas cette méthode, je vous invite à la tester car comment je l'ai dit précédemment, un jour ou l'autre le problème peut se représenter, et alors vous serez en mesure de vous débrouiller tout seul.
    Bonne journée
    cdlt
    0
  7. Houari100 Messages postés 37 Statut Membre
     
    Bonjour
    et Merci pour ton aide cette méthode est réussite .100%.
    Mais le cas ou j'ai des colonnes àcote du colonne CODE , colonne NOM et colonne PRENOM et colonne FILS ; Par exemple:
    CODE NOM PRENOM FILS BD BT ORG
    101210 xxxx yyyyy aaaaa 10 0 15
    101210 xxxx yyyyy aaaaa 20 30 17
    101210 xxxx yyyyy aaaaa 0 24 13
    201433 aaaa bbbb ccccc 70 35 0
    201433 aaaa bbbb ccccc 62 41 23
    345587 eeee rrrrr ttttt 10 11 0
    345587 eeee rrrrr ttttt 10 0 39
    345587 eeee rrrrr ttttt 0 11 10
    .
    .
    .
    .
    .
    Maintenant comment je vais faire pour atteindre le meme code avec le meme nom ,prenom et fils et le total dans un seul ligne
    Merci
    0
    1. Frenchie83 Messages postés 2254 Statut Membre 339
       
      Re
      pas de soucis, 2 possibilités
      le code étant unique pour un même Nom, soit vous modifiez les valeurs dans le filtre "avançé" (comme je l'ai mis dans le fichier sur fond rose) soit, vous rajoutez une formule de rechercheV pour trouver le NOM, Prénom et Fils comme j'ai mis dans le tableau.
      https://www.cjoint.com/c/CHsliVig8cZ
      bonne journée
      cdlt
      0
    2. Houari100 Messages postés 37 Statut Membre
       
      Merci c'est bon
      avec succes
      A+
      0
  8. foo
     
    Bonjour
    merci pour ton test

    je devais etre pas en forme

    Sub Cumul()
    Application.ScreenUpdating = False
    I = 2
    Range("K2:N" & Rows.Count).ClearContents
    For L = 2 To Range("A" & Rows.Count).End(xlUp).Row
    Temp = Range("A" & L)
    If Temp <> Range("A" & L - 1) Then
    Range("K" & I).Value = Range("A" & L).Value
    Range("B" & L & ":D" & L).Copy
    Range("L" & I).PasteSpecial xlPasteValues
    I = I + 1
    Else
    Range("B" & L & ":D" & L).Copy
    Range("L" & I - 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd
    End If
    Next
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    Range("A1").Select
    End Sub

    celle la elle doit marcher
    j'ais remis la bonne Ligne

    A+

    Maurice
    0
  9. foo
     
    Bonjour

    macro avec les noms

    Sub Cumul1()
    Application.ScreenUpdating = False
    I = 2
    Range("K2:Q" & Rows.Count).ClearContents
    For L = 2 To Range("A" & Rows.Count).End(xlUp).Row
    Temp = Range("A" & L)
    If Temp <> Range("A" & L - 1) Then
    Range("A" & L & ":G" & L).Copy
    Range("K" & I).PasteSpecial xlPasteValues
    I = I + 1
    Else
    Range("E" & L & ":G" & L).Copy
    Range("O" & I - 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd
    End If
    Next
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    Range("A1").Select
    End Sub

    A+
    Maurice
    0