• Initiateur de la discussion Initiateur de la discussion chinel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Re : problème de macro

Bonsoir Chinel, bonsoir le forum,

Essaie comme ça :
Code:
Option Explicit

Sub compte()
Dim dl As Long 'déclare la varialbe dl (Dernière Ligne)
Dim li As Long 'déclare la variable li (LIgne)
Dim plj1 As Range 'déclare la variable plj1 (PLage Jouée 1)
Dim plj2 As Range 'déclare la variable plj2 (PLage Jouée 2)
Dim plg1 As Range 'déclare la variable plg1 (PLage Gagnante 1)
Dim plg2 As Range 'déclare la variable plg2 (PLage Gagnante 2)
Dim cel As Range 'déclare la variable cel (CELlule)

dl = Cells(Rows.Count, 2).End(xlUp).Row 'de'finit la dernière ligne dl de la colonne B
Range("J2") = dl - 9 'place en J2 le nombre de participanys
Set plj1 = Range("C10:G" & dl) 'définit la plage jouée 1
Set plj2 = Range("H10:I" & dl) 'définit la plage jouée 2
plj1.Interior.ColorIndex = xlNone 'supprime la couleur de plj1
plj2.Interior.ColorIndex = xlNone 'supprime la couleur de plj2
Range("J10:K" & dl).ClearContents 'efface le contenu de la plage J10:K...dl
With Sheets("Feuil2") 'prend en compte l'onglet "Feuil2"
    li = .Cells(Rows.Count, "C").End(xlUp).Row 'définit la ligne li du dernier tirage renseigné
    Set plg1 = .Range(.Cells(li, 3), .Cells(li, 7)) 'définit la plage gagnante 1
    Set plg2 = .Range(.Cells(li, 8), .Cells(li, 9)) 'définit la plage gagnante 2
End With 'fin de la prise en compte de l'onglet "Feuil2"
For Each cel In plj1 'boucle 1 : sur toutes les cellule cel de la plage plj1
    If Not plg1.Find(cel.Value, , xlValues, xlWhole) Is Nothing Then 'condition : si la valeur de la cellule existe dans la plage plg1
        cel.Interior.ColorIndex = 6 'colore la cellule de jaune
        Cells(cel.Row, 10).Value = Cells(cel.Row, 10).Value + 1 'incrémente de 1 la cellule de la colonne J
    End If 'fin de la condition
Next cel 'prochaine cellule de la boucle 1
For Each cel In plj2 'boucle 2 : sur toutes les cellule cel de la plage plj2
    If Not plg2.Find(cel.Value, , xlValues, xlWhole) Is Nothing Then 'condition : si la valeur de la cellule existe dans la plage plg2
        cel.Interior.ColorIndex = 3 'colore la cellule de rouge
        Cells(cel.Row, 11).Value = Cells(cel.Row, 11).Value + 1
    End If 'fin de la condition
Next cel 'prochaine cellule de la boucle 2
End Sub
Le fichier :
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
165
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
315
Réponses
5
Affichages
166
Réponses
15
Affichages
548
  • Question Question
Microsoft 365 Format de nombres
Réponses
21
Affichages
520
Réponses
7
Affichages
200
Retour