Dans notre quotidien professionnel, nous devons fréquemment réaliser des tâches répétitives avec des desseins plus ou moins complexes. Par exemple, dans le cadre d’un reporting mensuel, collecter les balances d’un groupe de sociétés, les ouvrir, les mettre en forme pour enfin les analyser. Prises isolément, ces tâches ne prennent pas beaucoup de temps mais répétées, elles sont non seulement chronophages mais également sans aucune valeur ajoutée. L’automatisation de ces tâches sera utilement mise en œuvre afin de focaliser le maximum de temps homme sur la phase d’analyse de données, de loin la plus valorisante.
Sub AfficheMatrice() Dim détenteur As Integer Dim détenu As Integer classeurAppli.Sheets.Add after:=Worksheets(Worksheets.Count) With classeurAppli.Sheets(classeurAppli.Sheets.Count) .Cells(1, 1).Value = "Matrice I-M" For détenteur = 1 To NbEntités For détenu = 1 To NbEntités If détenteur = 1 Then .Cells(1, détenu + 1).Value = Entités(détenu) .Cells(3 + NbEntités, détenu + 1).Value = Entités(détenu) End If If détenu = 1 Then .Cells(détenteur + 1, 1).Value = Entités(détenteur) .Cells(détenteur + NbEntités + 3, 1).Value = Entités(détenteur) End If .Cells(détenteur + 1, détenu + 1).Value = MatriceImoinsDétentions(détenteur, détenu) Next détenu Next détenteur .Cells(3 + NbEntités, 1).Value = "Matrice (I-M)^-1" .Range("B" & 4 + NbEntités & ":" & Chr(64 + NbEntités + 1) & NbEntités * 2 + 3).FormulaArray = "=minverse(B2:" & Chr(64 + NbEntités + 1) & NbEntités + 1 & ")" 'FormulaArray équivaut à Ctrl+Maj+Entrée For détenu = 2 To NbEntités PourcentagesIntérêt(détenu) = Cells(4 + NbEntités, détenu + 1) Next détenu End With End Sub
Continue reading ‘Résoudre des problèmes complexes à l’aide la programmation informatique’ »