Appliquer code à une colonne + faire varier selon la colonne sélectionnée

Bonjour,
Toujours dans mes exercices de progression en VBA, je me retrouve confrontée à une double problématique :
Je possède un tableau auquel je souhaite appliquer une mise en forme à la colonne selon la valeur de la première ligne. Dans mon exemple, si la première valeur de ma colonne est égale à « patate », alors, toutes les cellules en-dessous sont en jaune. Si la valeur est « navet », alors c’est une autre mise en forme qui s’applique.
J’ai donc créé un module et ma fonction principale s’écrit ainsi :

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

If Cells(1, 2) = « Patate » Then
Call Patate
End If

If Cells(1, 2) = « navet » Then
Call navet
End If

Application.EnableEvents = True

End Sub

Mon problème est que je souhaite également appliquer ce code aux colonnes suivantes. Je pourrais donc le recopier en appelant successivement Cells(1,3) puis Cells (1,4), etc. mais ça me parait lourd. J’ai également tenté de faire une boucle For sur Cells(1,i), mais dès que je modifie une cellule, le code s’applique sur toutes mes colonnes, ce qui est également très lourd (je travaille sur un exemple mais mon projet contient beaucoup plus de lignes de code).

Je ne sais pas si je suis très claire, mais ce que j’aimerais être capable de coder c’est « si une valeur change dans la colonne X, alors applique la mise en forme uniquement sur la colonne X ».
Je pensais éventuellement qu’il faudrait que ma fonction « Patate » soit écrite ainsi :
Sub Patate()

Dim i As Integer
Dim j as Integer
For i = 2 To 5
Cells(i, j).Interior.ColorIndex = 6
Next i

End Sub
Il faudrait alors que dans ma fonction principale, je puisse à la fois appeler la fonction « Patate » et lui indiquer que j = target.column

J’ai commencé à écrire mon bout de code dans l’onglet « idée », mais ça ne semble pas marcher.
Est-ce que vous auriez une idée ?

Merci :blush:
Test Patate.xlsm (18,8 Ko)

Bonjour

Testes ce fichier et dis-moi cela correspond à ton attente

Test Patate.xlsm (18,4 Ko)

1 « J'aime »

Top, ça marche bien avec la fonction target.column

Merci beaucoup !

Merci pour ta réponse

Au plaisir de t aider à nouveau

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.