[VBA Excel] SOS Somme si 3 critères
Nicotfc
Messages postés
8
Statut
Membre
-
Nicotfc -
Nicotfc -
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!
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:
- [VBA Excel] SOS Somme si 3 critères
- Somme si couleur excel - Guide
- Si ou excel - Guide
- Formule somme excel ligne - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
6 réponses
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+
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+
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
Voici le lien vers le 2ème fichier :
Suivi frais
https://www.cjoint.com/?jmqJMlnTDU
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
en F6 de "Frais + autres coûts directs" tu mets cette petite formule :
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
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
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é ?
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é ?
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+
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+