[VBA Excel] SOS Somme si 3 critères

Fermé
Nicotfc Messages postés 8 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 15 janvier 2007 - 11 sept. 2006 à 11:12
 Nicotfc - 4 janv. 2007 à 17:59
Bonjour à tous !

SOS !
Cela fait 1 semaine que je me prend la tête sur 1 macro Excel.
Je veux automatiser un outils suivi projet qui me permettra de suivre les frais de projets divers.
Je dispose de 2 fichiers excel:
* Outils suivi projet
* Suivi frais

1 fichier "suivi frais" est saisi par 1 collaborateur, voilà sa composition:
1 tableau croisé dynamique avec 3 menus déroulant :
* Nom projet (Administratif, Projet 1, Projet 2) Colonne A
* Catégorie de dépense (Frais déplacement, Frais hôtel, Divers) Col B
* Mois Col C

Projet (A4) Catégorie dépense (B4) mois (C4)
Projet 1 (A5) Frais deplacement (B5) le montant à exporter (C5)

1 fois ce fichier rempli, je veux importer automatiquement à l'aide d'1 macro (ou d'1 fonction si cé possible...) les montants de Frais déplacement, Frais hôtel et Divers dans les cellules excel du fichier : "Outil suivi projet" si le nom projet (A5 "Suivi frais") = nom projet (A1 "Outil suivi projet") et si (B5 "Suivi frais" = A6 "Outil suivi projet") et si (C5 "suivi frais"= F5 "Outil suivi projet")

Composition du fichier:
1 tableau avec :
* Colonne A : Frais
3 lignes : Frais déplacement (L1) Frais hôtel (L2) Divers (L3)
* Colonne B: Mois (Montant par mois)
Cellule B1 : le montant Frais déplacement de "suivi frais" que je veux omporter !

Nom projet (A1)

Frais (A4) mois (F5)
Frais déplacement (A6) Montant à importer (F6)

Voilà le code que j'ai commençé :

Sub xxl()
Application.Workbooks("Outil suivi projet").Activate
Range("A1").Select
cellule1 = Range("A1").Value 'Nom projet

Application.Workbooks("suivi frais").Activate
If cellule1 = Range("A5").Value And Range("C4").Value = "janvier-06" Then
cellule2 = Range("C8").Value
Application.Workbooks("Outil suivi projet_Rev07").Activate
Range("F6").Value = cellule2
End If
If cellule1 = Range("A9").Value And Range("C4").Value = "janvier-06" Then
cellule2 = Range("C11").Value
Application.Workbooks("Outil suivi projet").Activate
Range("F6").Value = cellule2
End If
If cellule1 = Range("A12").Value And Range("C4").Value = "janvier-06" Then
cellule2 = Range("C14").Value
Application.Workbooks("Outil suivi projet_Rev07").Activate
Range("F6").Value = cellule2
End If

Application.Workbooks("exemple suivi frais").Activate
If cellule1 = Range("A5").Value And Range("D4").Value = "février-06" Then
cellule2 = Range("D8").Value
Application.Workbooks("Outil suivi projet_Rev07").Activate
Range("I6").Value = cellule2
End If
If cellule1 = Range("A9").Value And Range("D4").Value = "février-06" Then
cellule2 = Range("D11").Value
Application.Workbooks("Outil suivi projet_Rev07").Activate
Range("I6").Value = cellule2
End If
If cellule1 = Range("A12").Value And Range("D4").Value = "février-06" Then
cellule2 = Range("D14").Value
Application.Workbooks("Outil suivi projet_Rev07").Activate
Range("I6").Value = cellule2
End If
End Sub

Voilà, je ne suis pas sûr de mon code, les montants ne s'importent pas, il y a avé 1 problème de sélection au début, je les ai résolus mé les montants ne s'importent toujours pas !

Si quelqu'un peut me venir en aide ? Merci!
A voir également:

6 réponses

Nicotfc Messages postés 8 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 15 janvier 2007
11 sept. 2006 à 11:52
Excusez moi pour le titre du message, c'est plutôt un import suivant 3 critères !!!
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
11 sept. 2006 à 17:51
Bonjour,

monte ton fichier sur https://www.cjoint.com/

ce que j'ai l'impression d'avoir compris, c'est que :
1) ton fichier de saisie n'est pas un TCD,
2) qu'il a des listes de validation et
3) que la solution à ton problème passe peut-être justement par un TCD.

A+
0
Nicotfc Messages postés 8 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 15 janvier 2007
12 sept. 2006 à 16:34
Cé fait, jé envoyé 2 ficihiers
* Suivi frais
* Outil suivi frais

https://www.cjoint.com/?jmqCUBPmcP
0
Nicotfc Messages postés 8 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 15 janvier 2007
12 sept. 2006 à 16:40
Je ne t'ai envoyé ci-dessus que le fichier Outil suivi projet et NON Outil suivi frais comme je lé écrit

Voici le lien vers le 2ème fichier :

Suivi frais

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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
12 sept. 2006 à 18:13
Bonjour,

en F6 de "Frais + autres coûts directs" tu mets cette petite formule :
=SI(ESTNA(EQUIV(TEXTE(F$4;"mmmm-aa");[Suivi_frais.xls]Feuil1!$4:$4;0)-1);0;SI(ESTNA(RECHERCHEV($A6;DECALER([Suivi_frais.xls]Feuil1!$A$1;EQUIV($A$1;[Suivi_frais.xls]Feuil1!$A:$A;0)-1;1;EQUIV("Total "&$A$1;[Suivi_frais.xls]Feuil1!$A:$A;0)-EQUIV($A$1;[Suivi_frais.xls]Feuil1!$A:$A;0);NBVAL([Suivi_frais.xls]Feuil1!$4:$4)-1);EQUIV(TEXTE(F$4;"mmmm-aa");[Suivi_frais.xls]Feuil1!$4:$4;0)-1;FAUX));0;RECHERCHEV($A6;DECALER([Suivi_frais.xls]Feuil1!$A$1;EQUIV($A$1;[Suivi_frais.xls]Feuil1!$A:$A;0)-1;1;EQUIV("Total "&$A$1;[Suivi_frais.xls]Feuil1!$A:$A;0)-EQUIV($A$1;[Suivi_frais.xls]Feuil1!$A:$A;0);NBVAL([Suivi_frais.xls]Feuil1!$4:$4)-1);EQUIV(TEXTE(F$4;"mmmm-aa");[Suivi_frais.xls]Feuil1!$4:$4;0)-1;FAUX)))
et tu recopies cette formule partout dans les cellules montant.
en A1 de cet onglet, tu auras naturellement indiqué le nom d'un projet se trouvant dans le TCD issu de la saisie.

remarque : ne pourrais-tu pas construire un autre TCD qui ressemblerait à ton résultat de suivi de projet?

cordialement
0
Nicotfc Messages postés 8 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 15 janvier 2007
18 sept. 2006 à 10:17
Merci pour la formule, je suis en train de la tester.
J'ai enregistré les 2 fichiers dans le même répertoire, j'ai inséré ta formule dans F6 de "Frais +ACD", en collant (on me demande : "Mettre à jour les valeurs : Suivi-frais.xls"), j'ai donc sélectionné "Suivi-frais.xls".
J'ai recopié la formule dans les cases I6, L6, O6, R6 de "Outil suivi projet" mais rien ne s'affiche. J'ai mis comme nom de projet en A1 1001 Admin-Secrétariat puis Admin-Secrétariat mais toujours rien.

Comment dois-je écrire les noms projets: avec les chiffres + nom, seulement avec le nom ?
Sinon, t'as testé la formule, ça marché ?
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
18 sept. 2006 à 15:04
Bonjour,

en collant (on me demande : "Mettre à jour les valeurs : Suivi-frais.xls"), j'ai donc sélectionné "Suivi-frais.xls".
ça, je ne comprends pas

Comment dois-je écrire les noms projets:
exactement comme ils sont écrits dans ton TCD

Sinon, t'as testé la formule, ça marché ?
là, tu me vexes!
comment veux-tu que j'écrive une formule comme celle-là sans l'avoir testée!! regarde là : https://www.cjoint.com/?jspc0bMT6i

à l'ouverture de ton fichier, il y a une proposition de mettre à jour les liaisons, proposition que je refuse vu que je n'ai pas le fichier concerné.

A+
0
Nicotfc Messages postés 8 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 15 janvier 2007
18 sept. 2006 à 17:57
Quand j'ouvre les fichiers joints, il apparaît dans toutes les cases du tableau "Outils suivi projet" : #VALEUR!

Que dois-je faire ?

Merci pour tout ces renseignements, ça m'est trés profitable!
0
Nicotfc Messages postés 8 Date d'inscription lundi 11 septembre 2006 Statut Membre Dernière intervention 15 janvier 2007
18 sept. 2006 à 18:08
Non cé bon, je n'avais pas enregistré les 2 fichiers dans 1 répertoire !
Excuse moi, je n'ai rien dit!
Merci !!!!!!!!!!
0
Bonsoir,

Je reprend l'outil suivi projet dont j'ai parlé ci-dessus, peut on remplacer la fonction que m'a envoyé JvDo par une macro ? car sinon le fichier est trop lourd.

Merci.
0