Bonjour, salut Yvouille !
Un essai à chaud :
Option Explicit
Sub ColorierCode()
Dim code As String
Dim couleur As Integer
Dim r As Range
Début:
code = InputBox("Entrer le code du composant", "code")
couleur = Application.InputBox("Entrer le n° correspondant à la couleur du composant", "couleur", "1 = vert, 2 = vert clair, 3 = Jaune, 4 = bleu", Type:=1)
Set r = ActiveSheet.Cells.Find(code, , xlValues, xlWhole)
If Not r Is Nothing Then
Select Case couleur
Case 1: r.Interior.ColorIndex = 10
Case 2: r.Interior.ColorIndex = 43
Case 3: r.Interior.ColorIndex = 27
Case 4: r.Interior.ColorIndex = 33
Case Else: MsgBox "Couleur non reconnue !"
End Select
Else
If MsgBox("Le code '" & code & "' n'a pas été retrouvé dans la feuille. Recommencer ?", vbYesNo, "Erreur code") = vbYes Then GoTo Début
End If
End Sub
Comme indiqué par Yvouille, les guillemets délimitent du texte... Les variables String avec des noms de couleurs sont toutes vides car non initialisées, c'est plutôt à ce niveau que tu aurais pu utiliser des guillemets pour définir des couleurs sous forme de texte. A noter que les Is = sont inutiles dans Select Case car plutôt utilisés pour des comparaisons numériques (>, >=, etc).