BDSomme

romika

XLDnaute Occasionnel
Bonjour à tous,

j'ai des soucis avec une formule BDSomme

je vous joins un fichier sur lesquels il y a aussi des explication de mon problème

je ne sais pas si il y a une solution mais si vous la trouvez je vous en serai reconnaissant

merci d'avance [file name=Fichiera.zip size=8590]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Fichiera.zip[/file]
 

Pièces jointes

  • Fichiera.zip
    8.4 KB · Affichages: 111

lapix

XLDnaute Occasionnel
pour la premiere question, tu peux mettre le vendeur en critere en selectionnant B12:C13 dans ta formule

Pour la deuxieme ligne, je ne sais pas car il faut pour cette formule toujours une ligne de titre pour les criteres et une ligne de criteres proprement dit

Ce que je voie, c'est une possibilité du style somme.si ( concatener(vendeur; article) = mon critere; total des quantites)

desolé de ne pouvoir faire plus
 
J

jocelyn

Guest
Bonjour le Forum,
Bonjour Romika,

Voila en pièce jointe un petit essai avec une formule soommeprod.

Espérant t'avoir aidé

Jocelyn [file name=romika.zip size=5808]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/romika.zip[/file]
 

Pièces jointes

  • romika.zip
    3.5 KB · Affichages: 105
  • romika.zip
    3.5 KB · Affichages: 106
  • romika.zip
    3.5 KB · Affichages: 108

romika

XLDnaute Occasionnel
Bonjour, Lapix, Jocelyn,

Merci pour votre aide.
effectivement ça marche avec sommeprod.

mon problème c'est que ma liste est dans un autre fichier qui lui reste fermé et donc pour mettre à jour je suis obligé de l'ouvrir pour que la formule sommeprod marche.

je continue à chercher
 
J

jocelyn

Guest
Bonjour le Forum,
Bonjour lapix, romika,

oui désolé je n'avais pas fait attention au fait que les données se trouvent dans un autre classeur, à ce moment la je penses qu'un TCD (en choisissant source de données externe au moment de la construction) construction devrait faire l'affaire ou alors il faut passer par du VBA mais la je suis moins bon que moins bon.


Voila regarde et dit moi

A+

Jocelyn
 
J

jocelyn

Guest
Re bonjour,

Dans le fichier joint j'ai fait un exemple avec 2 fichiers, enregistres les sur ton PC refait le lien et tu verras ca marche.

Jocelyn [file name=romika_20050630091336.zip size=12720]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/romika_20050630091336.zip[/file]
 

Pièces jointes

  • romika_20050630091336.zip
    12.4 KB · Affichages: 78

romika

XLDnaute Occasionnel
Bonjour, jocelyn,

merci pour ta réponse

moi aussi j'avais pensé à rapatrier avec un TCD et effectivement, ça marche comme ça.

le problème c'est que ma liste est très longue et les colonnes très nombreuses et beaucoup de variables et dans ce cas le rapatriement du TCD n'est pas la meilleure solution. donc je continue à chercher la solution vba, et là, j'avoue que je suis nul.

j'espère que quelqun pourra m'aider

bonne journée
 

MichelXld

XLDnaute Barbatruc
bonsoir

tu peux tester cette procedure :
addition des pulls vendus par le vendeur 'tata' , pour l'annee 2005

Code:
Sub requeteFichierFerme()
Dim Source As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim texte_SQL As String, Fichier As String

Fichier = ThisWorkbook.Path & '\\classeurFerme.xls'

Set Source = New ADODB.Connection
Source.Open 'Provider = Microsoft.Jet.OLEDB.4.0;' & _
'data source=' & Fichier & ';' & _
'extended properties=''Excel 8.0;'''

texte_SQL = 'SELECT Sum([Tab_ventes].Realise) AS ValTotal FROM Tab_ventes' & _
' WHERE Type='Pull'AND Vendeur='tata' AND Annee=2005'

Set Rst = New ADODB.Recordset
Set Rst = Source.Execute(texte_SQL)

Range('B23').CopyFromRecordset Rst

Rst.Close
Source.Close
End Sub


Tab_ventes est la plage de cellules nommées dans le classeur fermé


bonne soiree
MichelXld

Message édité par: MichelXld, à: 30/06/2005 18:49
 

Gael

XLDnaute Barbatruc
Bonjour Romika, Jocelyn, Michel, Le forum,

Je trouve que la solution Sommeprod est la plus efficace dans ce type de problème.

Pour moi, Sommeprod fonctionne aussi sur des fichiers fermés, XL demande simplement de mettre à jour les liaisons, donc je ne comprends pas ta remarque, Romika.

Une autre solution intéressante pour des bases de données importantes est la création de requêtes (c'est un peu l'équivalent de la solution de michel en utilisant MSQuery).

la requête permet d'extraire, de filtrer et de trier les informations, de paramétrer les filtres et d'utiliser quelques fonctions de synthèse. Comme on peut sauvegarder les requêtes, on peut les réutiliser dans différents tableaux.

Il faut faire Données - Données externes - créer une requête puis choisir EXcel Files et le fichier contenant les données (qui peut être fermé) puis répondre aux différents écrans et choisir modifier avec MSQuery pour avoir plus de possibilités.

Je suivrai le FIL si tu as des questions.

@+

Gael
 

MichelXld

XLDnaute Barbatruc
bonsoir Gael

tu as sans doute raison , mais juste pour le fun un exemple plus complet par macro : pour additionner les ventes , par vendeur , par type d'objet et par annéee . les données source sont dans le classeur fermé


bonne soiree
MichelXld [file name=calculVentes.zip size=23673]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/calculVentes.zip[/file]
 

Pièces jointes

  • calculVentes.zip
    23.1 KB · Affichages: 230

Gael

XLDnaute Barbatruc
Bonsoir Michel,

Je reconnais que c'est pratique et que ça marche bien.

A mon avis, il ne faut pas opposer ces solutions qui sont complémentaires et la meilleure des deux est toujours celle qui répondra le mieux aux besoins de l'utilisateur.

Sommeprod peut être plus pratique si l'on veut de nombreux tableaux complets et formatés.

Ce qui m'intéresse en fait c'est que ta macro utilise les requêtes avec SQL . J'utilise beaucoup les requêtes mais avec MSQuery et c'est très efficace notament sur des bases de données de systèmes centraux.

Je suis sûr qu'on aurait pu faire de grandes choses ensemble en utilisant tous ces outils.

@+

Gael
 

romika

XLDnaute Occasionnel
Bonjour, à tous,

je vous remercie pour votre aide et vos remarques.

malheureusement j'ai pas encore eu le temps de tester, hier c'était jour d'inventaire...

je vais m'y mettre ce week-end et je vous tiendrai au courant

encore une fois, merci et bonne journée
 

Discussions similaires

Réponses
15
Affichages
373
Réponses
93
Affichages
2 K

Statistiques des forums

Discussions
312 279
Messages
2 086 730
Membres
103 380
dernier inscrit
prolofief