Bonjour,
Je n'ai pas compris la fin de ton explication :
...et que si ma variable cellule ne vaut rien dans ma colonne B, alors on colorie la colonne A de la première ligne vide.
Peux tu joindre un fichier fictif dans lequel tu illustres les cas de figure ?
Si je m'intéresse uniquement au code, indépendamment de son objectif :
1. Si ta condition Range("B" & i).Value = cellule n'est pas respectée, c'est le bloc Else qui est exécuté. Il est donc inutile de vérifier que Range("B" & i).Value <> cellule.
2. Si tu souhaites tester de nouvelles conditions dans le bloc Else, il faut ajouter une nouvelle structure "If...Then...End If", ou éventuellement un "ElseIf".