Calculer le percentile, Excel VBA
Calculer un percentile dans Excel à l’aide de VBA est une tâche assez simple, car Excel possède déjà des fonctions intégrées pour calculer les percentiles. Cependant, si vous souhaitez le faire en utilisant du code VBA, voici une méthode détaillée avec l’explication du processus.
Explication :
Un percentile est une valeur qui divise un ensemble de données en 100 parts égales. Par exemple, le 50e percentile (également appelé la médiane) sépare les 50 % les plus bas des 50 % les plus hauts d’un ensemble de données. En VBA, nous pouvons calculer un percentile à l’aide de la fonction WorksheetFunction.Percentile.
Voici un code VBA détaillé pour calculer le percentile à partir d’un tableau de données dans une colonne :
Code VBA pour calculer le percentile
Sub CalculerPercentile() ' Déclaration des variables Dim PlageDeDonnees As Range Dim PercentileValeur As Double Dim Percentile As Double Dim PercentileRank As Double ' Demande à l'utilisateur de sélectionner la plage de données On Error Resume Next Set PlageDeDonnees = Application.InputBox("Sélectionnez la plage de données :", Type:=8) On Error GoTo 0 ' Vérification si la plage de données est vide If PlageDeDonnees Is Nothing Then MsgBox "Aucune plage sélectionnée, l'opération a été annulée." Exit Sub End If ' Demander à l'utilisateur le percentile qu'il souhaite calculer (par exemple 90 pour le 90e percentile) PercentileRank = InputBox("Entrez le percentile à calculer (par exemple 90 pour le 90e percentile) :", "Calcul du Percentile") ' Vérification que l'utilisateur a entré une valeur valide If PercentileRank < 0 Or PercentileRank > 100 Then MsgBox "Veuillez entrer un percentile entre 0 et 100." Exit Sub End If ' Calcul du percentile avec la fonction Percentile d'Excel Percentile = Application.WorksheetFunction.Percentile(PlageDeDonnees, PercentileRank / 100) ' Affichage du résultat dans une boîte de message MsgBox "Le " & PercentileRank & "e percentile est : " & Percentile End Sub
Explication détaillée du code :
1. Déclaration des variables :
- PlageDeDonnees : Une variable de type Range qui contient la plage des données à analyser.
- PercentileValeur : Variable pour stocker la valeur calculée du percentile.
- Percentile : Variable pour stocker la valeur du percentile calculé.
- PercentileRank : Le rang du percentile à calculer, qui est une valeur entre 0 et 100.
2. Sélection des données :
- Le code demande à l’utilisateur de sélectionner une plage de données en utilisant Application.InputBox. Ce champ permet de sélectionner plusieurs cellules dans une colonne ou une ligne.
- On Error Resume Next et On Error GoTo 0 gèrent les erreurs au cas où l’utilisateur annule la sélection.
3. Demander le percentile à calculer :
- Le code demande ensuite à l’utilisateur d’entrer un percentile entre 0 et 100 à travers une InputBox.
4. Vérification des valeurs :
- Le code vérifie si la valeur du percentile est valide (entre 0 et 100). Si ce n’est pas le cas, un message d’erreur s’affiche et l’exécution s’arrête.
5. Calcul du percentile :
- La fonction Application.WorksheetFunction.Percentile d’Excel est utilisée pour calculer le percentile. Nous devons diviser la valeur du percentile par 100 pour la convertir en un format approprié pour cette fonction.
6. Affichage du résultat :
- Enfin, le résultat du percentile est affiché dans une boîte de message via MsgBox.
Exemple d’utilisation :
- Vous avez un ensemble de données dans une colonne Excel (par exemple, de A1 à A10).
- Vous exécutez le code VBA en appuyant sur Alt + F11 pour ouvrir l’éditeur VBA, puis en collant le code dans un module.
- Une fois le module exécuté, une boîte de dialogue apparaîtra pour vous demander de sélectionner la plage de données.
- Ensuite, une autre boîte de dialogue vous demandera d’entrer un percentile (par exemple, 90 pour le 90e percentile).
- Le résultat sera affiché sous forme de message indiquant la valeur du percentile sélectionné.
Notes importantes :
- Assurez-vous que les données sont triées ou appropriées avant de calculer le percentile.
- Cette méthode utilise WorksheetFunction.Percentile, qui est équivalente à la fonction PERCENTILE dans Excel.
Cela vous permet de calculer facilement les percentiles en utilisant VBA dans Excel.