problème de macro

chinel

XLDnaute Impliqué
Salut tout le monde, j'ai besoin de votre aide sur une macro (qui n'est pas de moi étant nul ...) voir fichier en annexe, merci d'avance !
 

Pièces jointes

  • EuroMillion by MD.xlsm
    29.4 KB · Affichages: 46

Robert

XLDnaute Barbatruc
Repose en paix
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

  • Chinel_v01.xls
    71 KB · Affichages: 42

Statistiques des forums

Discussions
312 248
Messages
2 086 593
Membres
103 248
dernier inscrit
Happycat