Code
bonjour, je rame sur le code du fichier joint depuis hier et j'aimerais svp bénéficier de votre aide pour atterrir.
le but est de mettre en forme en colonne H de la feuille "Planning" si le lot en colonne G de la feuille "Planning" existe en colonne C de la feuille "Stocks" et si le commentaire correspondant en colonne J de la feuille "Stocks" commence par les lettres "NC". je me suis inspiré de quelques codes sur ce site pour l'écrire mais le résultat n'est pas bon. merci d'avance pour votre aide.
Moutchec
Bonjour,
Avec Find() car plus rapide qu'une double boucle puis ensuite, dans ton code tu compare deux colonnes qui ne possèdent absolument pas le même type de valeurs ! Tu recherches les valeurs colonne H de "Planning" dans la colonne C de "Stocks" alors qu'il faudrait que tu recherches les valeurs de la colonne G de "Planning" dans la colonne C de "Stocks" :
Private Sub CommandButton1_Click()
Dim PlgPlanning As Range
Dim CelPlanning As Range
Dim PlgStocks As Range
Dim CelStocks As Range
With Worksheets("Planning"): Set PlgPlanning = .Range(.Cells(2, 7), .Cells(.Rows.Count, 7).End(xlUp)): End With
With Worksheets("Stocks"): Set PlgStocks = .Range(.Cells(4, 3), .Cells(.Rows.Count, 3).End(xlUp)): End With
For Each CelPlanning In PlgPlanning
Set CelStocks = PlgStocks.Find(CelPlanning, , xlValues, xlWhole)
If Not CelStocks Is Nothing Then
If Left(CelStocks.Offset(, 7).Value, 2) = "NC" Then
With CelPlanning.Offset(, 1)
.Interior.ColorIndex = 3
.Font.ColorIndex = 6
.Font.Size = 11
End With
End If
End If
Next CelPlanning
End Sub
Bonjour, c'est vraiment parfait. merci bcp.
cordialement.
Moutchec