Excel : additionner 2 tableaux

zibard Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Ma feuil1 contient 2 colonnes : référence article et quantité
Ma feuil 2 contient 2 colonnes : référence article et quantité
De nombreuses références articles sont présentes dans les 2 feuilles, mais il peut y avoir des références qui sont présentes dans 1 seule feuille.

Je souhaite avoir le nombre de références articles dans la feuil3.

Exemple :
Feuil1 : 1EOWS 1
Feuil2 : 1EOWS 3

Feuil3 : 4

Please help ! Merci pour votre aide.

Zibard

2 réponses

  1. melanie1324 Messages postés 1561 Statut Membre 156
     
    bonjour,

    en manuel, c apeut être fastidieux mais voici la méthode :

    1) tu copie ta feuille 1 en feuille 3
    2) dans la troisième colonne de ta feuille 3 en 2è ligne, tu mets :
    =SI(ESTNA(RECHERCHEV(A2;Feuil2!A:A;1;FAUX));A2;B2 + SOMME.SI(Feuil2!A:A;A2;Feuil2!B:B))

    tu la tires jusqu'au bout.

    3) tu vas dans la 2eme feuille, en colonne 3, tu mets :
    =recerchev(A1;Feuil1!A:A;1;faux)

    si tu as des n/A, il faut que tu les rajoutes dans ta 3ème feuille

    en macro ca donne :

    sub somme()

    sheets("Feuil1").select
    cells.copy
    sheets("Feuil3").select
    cells(1,1).select
    Activesheet.paste
    cells(2,3).select
    ActiveCell.FormulaR1C1 = _
    "=IF(ISNA(VLOOKUP(RC[-2],Feuil2!C[-2],1,FALSE)),RC[-2],RC[-1] + SUMIF(Feuil2!C[-2],RC[-2],Feuil2!C[-1]))"

    i=3
    do while cells(i,3) <> ""
    i=i+1
    loop

    cells(2,3).copy
    range(cells(2,3),cells(i-1,3)).select
    activesheet.paste

    sheets("Feuil2").select
    cells(2,3).select
    ActiveCell.FormulaR1C1 = _
    "=VLOOKUP(RC[-2],Feuil1!C[-2],1,FALSE)
    cells(2,3).copy
    a=3
    do while cells(a,1)<>""
    a=a+1
    loop
    range(cells(2,3),cells(a-1,3)).select
    activesheet.paste

    a=1
    do while cells(a,1) <> ""
    if iserror (cells(a,3) then
    range(cells(a,1),cells(a,2)).copy
    sheets("feuil3").select
    cells(i,1).select
    activesheet.paste
    i=i+1
    sheets("Feuil2").select
    end if
    a=a+1
    loop

    end sub

    feuil1 = feuille ou tu as tes premières références
    feuil2 = feuille ou tu as tes secondes références
    feuil3 = tes totaux.
    0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Ou bien utiliser la consolidation qui est faite pour ça
    -sélectionner Feuil3!A1,
    -menu 'données / consolider...' (sur excel 2003),
    -ajouter les références Feuil1!$A$1 $B$20 et Feuil2!$A$1 $B$20
    -cocher 'ligne du haut' (s'il y a des titres) et 'colonne de gauche'
    valider

    eric
    0