=SIERREUR(INDEX(AI:AI;EQUIV(C4;AJ:AJ;0)-EST.IMPAIR(EQUIV(C4;AJ:AJ;0)));0)
=SIERREUR(INDEX(AM:AM;EQUIV(C4;AJ:AJ;0)-EST.IMPAIR(EQUIV(C4;AJ:AJ;0)));0)
Function ScoreDeParmi(Joueur, plage As Range, Qui As Long) As Variant
Dim t, i&
t = plage.Value
For i = 1 To UBound(t)
t(i, 1) = plage.Cells(i, 1).MergeArea.Cells(1, 1).Value
If t(i, 1) = "" Then t(i, 1) = ""
t(i, 5) = plage.Cells(i, 5).MergeArea.Cells(1, 1).Value
If t(i, 5) = "" Then t(i, 5) = ""
If t(i, 2) = Joueur Then ScoreDeParmi = IIf(Qui = 1, t(i, 1), t(i, 5)): Exit Function
If t(i, 4) = Joueur Then ScoreDeParmi = IIf(Qui = 1, t(i, 5), t(i, 1)): Exit Function
Next i
ScoreDeParmi = CVErr(xlErrNA): Exit Function
End Function
Bonjour berru76,
Je n'ai pas compris où vous avez placé le code. J'ai l'impression que le code a été placé dans un fichier à part. Ce qui 'est pas correct. Voici une procédure à suivre :
A ce stade, vous être sous Excel et le seul fichier ouvert est celui que vous venez de créer (.xlsm). Vérifier qu'il n'y a que votre fichier *.xlsm qui soit ouvert.
- lancer Excel et ouvrir votre fichier .xlsx
- enregistrer ce fichier sous le même nom mais cette fois ci avec le type "Classeur Excel (prenant en charge les macros) (*.xlsm)". Ceci se fait au moyen de la commande "Enregistrer sous..." à partir d'Excel.
- Le fichier est créé avec le même nom mais avec l'extension ".xlsm"
Vous allez passer de l'environnement ordinaire d'Excel à l'environnement de VBA (Visual Basic for Application): Pour cela :
- tapez simultanément sur les deux touches ALT + F11 (F11 est la touche de fonction F11)
- La fenêtre de l'environnement VBA apparait
Vous devez avoir un panneau "VBA - VBAProject. Si ce n'est pas le cas, affichez ce panneau le via le menu Fenêtres / Explorateur de projets.
Nous allons créer un module pour y coller le code de la fonction personnalisée "ScoreDeParmi" :
- via le menu Insérer / Module, on crée un nouveau module
- dans le panneau Explorateur apparait le groupe des module avec un nouveau module
- Double-cloquer sur le nouveau module -> la fenêtre d'édition du code du nouveau module s'ouvre
Dans la fenêtre de code du nouveau module :
- coller le code de la fonction
- puis refermer l'éditeur VBA
- vous être à nouveau dans l'environnement Excel
- revalidez vos formules
- ça devrait fonctionner
- n'oubliez pas de sauvegarde votre fichier modifié
### s'affiche je vous joint une capture d’écran Merci |