Problème code vba

thithi25 -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour j'aurai besoin d'un coup de main pour voir ce qui ne va pas dans ce code . Excel me dit qu'il y a une erreur sur cette ligne {if cell.value=cells(z,3).value } mais je vois pas l'erreur.
Merci

Sub CouleurNew()
Application.ScreenUpdating = False

Set F1 = Worksheets("worksheet")

With F1
Set plage = .Range("D3:AT10000")
End With

For Z = 3 To 6

    For Each cell In plage
    
    cell.Select
    
    If cell.Value = Cells(Z, 3).Value Then Selection.Interior.Color = F1.Cells(Z, 3).Interior.Color
    
    Next
    
Next Z


Application.ScreenUpdating = True

End Sub
A voir également:

2 réponses

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Quelle erreur ?
Quel message ?
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

ta plage comporte quelques 43000 Cellules avec en plus un "select" particulièrement chronophage , si on parcoure cellule par cellule, ce sera très long
l'astuce consiste à chercher(find) dans la plage les cellules ayant la valeur de C3( puis C4,5,6)

regarde cette proposition
https://mon-partage.fr/f/aht6VQIP/


0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Merci !

de rien....
0
michael_scott Messages postés 58 Date d'inscription   Statut Membre Dernière intervention  
 
Sub Nettoyer()
Dim Plage As Range
Set Plage = Range("D3:AT10000")
Plage.Interior.ColorIndex = -4142
End Sub

J'ai du faire ça pour que ta macro marche, "variable Plage non définie" -> bug
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
effectivement !
Merci
0