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’ »