A partir d'un tableau sommer des lignes puis renvoyer la valeur en VBA

awa123

XLDnaute Occasionnel
Bonjour,

Je cherche le code VBA qui me permettrai à partir d'un tableau (extensible car mis à jour des infos. regulierement)
sommer les différents noms d'opérations qui sont effectuées en 2012 et en 2013.
puis renvoyer la valeur de la somme associé au nom correspondant dans le fichier resultat .

voir pièce jointe pour l'illustration svp

Merci beaucoup
 

Pièces jointes

  • data.xlsx
    10.9 KB · Affichages: 42
  • resultat.xlsx
    8.6 KB · Affichages: 35
  • data.xlsx
    10.9 KB · Affichages: 45
  • resultat.xlsx
    8.6 KB · Affichages: 36
  • data.xlsx
    10.9 KB · Affichages: 42
  • resultat.xlsx
    8.6 KB · Affichages: 38

job75

XLDnaute Barbatruc
Re : A partir d'un tableau sommer des lignes puis renvoyer la valeur en VBA

Bonjour awa123,

C'est un problème classique qui se traite très facilement par formule.

1) Dans le fichier data.xslx nommez le tableau Base par la formule dynamique :

Code:
=DECALER(Feuil1!$A$1:$B$1;;;NBVAL(Feuil1!$A:$A))
2) Dans le fichier resultat.xslx entrez en B2 la formule :

Code:
=SOMMEPROD((INDEX(data.xlsx!Base;;1)=A2)*((INDEX(data.xlsx!Base;;2)=2012)+(INDEX(data.xlsx!Base;;2)=2013)))
à tirer vers le bas.

Nota : 2012 et 2013 peuvent être remplacés par les références de 2 cellules...

A+
 

job75

XLDnaute Barbatruc
Re : A partir d'un tableau sommer des lignes puis renvoyer la valeur en VBA

Re,

J'oubliais la formule en A2 du fichier resultat.xslx :

Code:
=INDEX(INDEX(data.xlsx!Base;;1);MIN(SI(NB.SI(A$1:A1;INDEX(data.xlsx!Base;;1))=0;LIGNE(INDEX(data.xlsx!Base;;1)))))
C'est une formule matricielle à valider par Ctrl+Maj+Entrée.

La tirer vers le bas jusqu'à ce qu'elle affiche "Opération".

A+
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16