Bonjour,
J'essaie de trouvé une solution à mon problème depuis quelques jours en consultant divers forums discussion en ligne, mais je n'y arrive pas. C'est la première fois j'écris dans un forum et je vais essayer d'expliquer le plus clairement possible.
J'ai trois fichiers Excel: "Tableau de bord sommaire", "Entrée de données1" et "Entrée de données2". Dans chaque fichier d'entrée de données, on retrouve une liste d'indicateurs et pour chacun de ces indicateurs, il y a une cellule pour le numérateur et une cellule pour le dénominateur où les usagers peuvent inscrire les données pour chaque mois.
J’ai utilisé une macro dans le fichier Excel « TABLEAU DE BORD SOMMAIRE » pour faire la somme des cellules H2 des fichiers « Entrée de données 1 » et « Entrée de données 2 » divisé par la somme des cellules H3 des fichiers « Entrées de données 1 » et « Entrée de données 2 ». Le résultat s’affiche dans la cellule A1 de la feuille 2 (sheet2) du fichier « TABLEAU DE BORD SOMMAIRE ».
Voici l'équation : (H2 Entrées des données1+H2 Entrées des données2)/(H3 Entrées des données1+H3 Entrées des données2)=Résultat dans A1 feuille2 du fichier "TABLEAU DE BORD SOMMAIRE"
La macro que j'ai utilisé est la suivante:
La macro fonctionne, mais je dois maintenant la modifier pour pouvoir l'adapter à différents nombres de fichiers d'entrées de données. Chaque fichier d'entrée de données représente un service et chaque directeurs de la compagnie où je travaille peut avoir un nombre différents de services sous sa responsabilité et donc un nombre différents de fichiers d'entrées de données. Je veux pouvoir calculer la formule suivante:
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 Sub CopySommaire() Dim currentSheet As Worksheet Dim sheetIndex As Integer sheetIndex = 1 Chemin1 = Range("B20").Value Chemin2 = Range("B23").Value Fichier1 = Range("B25").Value Fichier2 = Range("B26").Value Set wkbSource = Workbooks.Open(Chemin1) Set wkbSource = Workbooks.Open(Chemin2) Windows(Fichier1).Activate Windows(Fichier2).Activate Workbooks("TABLEAU DE BORD SOMMAIRE").Worksheets(2).Range("A1").Value = (Workbooks(Fichier1).Worksheets("Entrée Indicateur du service").Range("H2") + Workbooks(Fichier2).Worksheets("Entrée Indicateur du service").Range("H2")) / (Workbooks(Fichier1).Worksheets("Entrée Indicateur du service").Range("H3") + Workbooks(Fichier2).Worksheets("Entrée Indicateur du service").Range("H3")) End Sub
(H2 Entrées des données1+H2 Entrées des données2+⋯+H2 Entrées des données n)/(H3 Entrées des données1+H3 Entrées des données2+⋯+H3 Entrée des données n)
À noter que j'ai nommé mes fichiers « Entrée de données 1 » et « Entrées de données 2 » pour l’exercice, mais les noms des fichiers sont inconnus parce que chaque directeur peut nommer ses fichiers comme il le veut. Pour cette raison, j'ai utilisé une macro associé à un bouton que l'usager peut cliquer et le chemin d'accès (path) s'affiche dans une cellule et le nom du fichier en question s'affiche dans une autre cellule. Ça permet d'identifier les fichiers en questions, mais mon problème est qu'il y a un nombre de fichiers d'entrées de données variable selon les directeurs et je n'arrive pas à adapter la macro pour faire ça.
Une fois que la macro va fonctionner H2/H3, il faudra répéter la formule pour toutes les cases du tableau des fichiers d'entrées de données. Tous les fichiers d'entrées de données ont un tableau identique.
De plus, je cherche une méthode de conserver le format ($, %, 1 décimal, 2 décimales, etc.) de la ligne du numérateur et si possible quand le numérateur et dénominateurs sont des nombres, donner le résultat en pourcentage. Exemple : numérateur Entrées de données1=4, dénominateur Entrées de données2=2, dénominateur Entrée de données1=3, dénominateur Entrée de données2=7.
(4+2)/(3+7)=60%
Est-ce que quelqu'un peut me donner des pistes de solution?
* Merci *
Partager