Bonjour,
Voilà 1 semaine que je peine sur ce cas ! Du coup je viens demander de l'aide. Je vous ai mis en pièces jointes des extraits des fifférents fichiers dont j'ai besoin.
2 fichiers :
- Pilotage : fichier contenant les données que je souhaite récupérer
- Maquette : fichier où je dois mettre les données récupérées
Sur le fichier pilotage je dois rechercher des données selon des critères qui sont dans le fichier maquette.
Actions :
- Filtrer sur la colonne A (Action) sur les lignes ne contenant pas "taux normal" du fichier pilotage (ça j'y arrive)
-Filtre sur la colonne O = "" (ça ça va aussi)
- Filtrer ensuite sur la colonne B (Produit) du fichier pilotage selon le nom de produit qui apparaît dans la colonne K du fichier maquette
- Filtrer ensuite sur la date de début et date de fin, colonnes F et G du fichier pilotage selon la date apparaissant en colonne N du fichier maquette (il faut donc que cette date appartienne à la tranche date début-date fin)
- Filtrer ensuite sur les colonnes D et E (montant minimum et maximum) du fichier pilotage selon le montant se trouvant dans la colonne AG (Montant total) du fichier maquette (même système de tranche que pour la date).
- Pour finir je dois trouver le taux national et le taux régional apparaissant en colonne M et N du fichier pilotage selon la tranche de la part UC (colonnes I et J) du fichier pilotage que l'on trouve grâce à la part UC globale se trouvant en colonne AJ du fichier maquette (une recherchev pour finir peut-être ?).
- But de toutes ces manoeuvres : récupérer le taux national et le taux régional et les copier dans le fichier maquette en colonnes AP et AQ et ce pour chaque onglet et chaque ligne du fichier maquette.
J'espère que ce n'est pas trop lourd et que quelqu'un voudra bien essayé de m'aider...
Voici le code que j'ai écris (qui est loin d'être le 1er que j'essaie) :
Merci par avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 'Taux national et taux régional 'Enlever les lignes correspondantes au taux normal derlignetaux = Workbooks(pilotage).Sheets("Taux Frais 2013").Range("A65000").End(xlUp).Row derlignemaq = Workbooks(maquette).Sheets(Num & " " & Nom).Range("A65000").End(xlUp).Row For i = 2 To derlignetaux derlignetaux = Workbooks(pilotage).Sheets("Taux Frais 2013").Range("A65000").End(xlUp).Row For j = 2 To derlignemaq derlignetaux = Workbooks(pilotage).Sheets("Taux Frais 2013").Range("A65000").End(xlUp).Row If Workbooks(pilotage).Sheets("Taux Frais 2013").Range("A" & i).Value Like "*taux normal*" Then Workbooks(pilotage).Sheets("Taux Frais 2013").Rows(i).Delete End If 'Typologie produit If Workbooks(pilotage).Sheets("Taux Frais 2013").Range("B" & i).Value <> Workbooks(maquette).Sheets(Num & " " & Nom).Range("K" & j).Value Then Workbooks(pilotage).Sheets("Taux Frais 2013").Rows(i).Delete End If 'Sélectionner la bonne action en fonction de la date de signature If Not Workbooks(maquette).Sheets(Num & " " & Nom).Range("N" & j).Value >= Workbooks(pilotage).Sheets("Taux Frais 2013").Range("F" & i).Value And Workbooks(maquette).Sheets(Num & " " & Nom).Range("N" & j).Value <= Workbooks(pilotage).Sheets("Taux Frais 2013").Range("G" & i).Value Then Workbooks(pilotage).Sheets("Taux Frais 2013").Rows(i).Delete End If 'Type réalisation vide If Workbooks(pilotage).Sheets("Taux Frais 2013").Range("O" & i) <> "" Then Workbooks(pilotage).Sheets("Taux Frais 2013").Rows(i).Delete End If 'Tranche de la somme total If Not Workbooks(maquette).Sheets(Num & " " & Nom).Range("AG" & j).Value >= Workbooks(pilotage).Sheets("Taux Frais 2013").Range("D" & i).Value And Workbooks(maquette).Sheets(Num & " " & Nom).Range("AG" & j).Value <= Workbooks(pilotage).Sheets("Taux Frais 2013").Range("E" & i).Value Then Workbooks(pilotage).Sheets("Taux Frais 2013").Rows(i).Delete End If 'Tranche de la part UC If Not Workbooks(maquette).Sheets(Num & " " & Nom).Range("AJ" & j).Value >= Workbooks(pilotage).Sheets("Taux Frais 2013").Range("I" & i).Value And Workbooks(maquette).Sheets(Num & " " & Nom).Range("AJ" & j).Value <= Workbooks(pilotage).Sheets("Taux Frais 2013").Range("J" & i).Value Then Workbooks(pilotage).Sheets("Taux Frais 2013").Rows(i).Delete End If 'Taux National Workbooks(maquette).Sheets(Num & " " & Nom).Range("AP" & j).Value = Workbooks(pilotage).Sheets("Taux Frais 2013").Range("M2").Value 'Taux régional Workbooks(maquette).Sheets(Num & " " & Nom).Range("AQ" & j).Value = Workbooks(pilotage).Sheets("Taux Frais 2013").Range("N2").Value 'On ferme et réouvre le fichier pilotage sans enregistrer Workbooks(pilotage).Close False Workbooks.Open Filename:=rep & "Données\" & pilotage Next j Next i![]()
Partager