1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lig As Long, c As Long
Dim t As Object
Application.ScreenUpdating = False '
Application.EnableEvents = False 'pour interdire la relance à chaque modification provoquée par la macro
Range("B6:C8").ClearContents 'on efface les précédents résultats
Lig = 6 'première ligne de remplissage
Test = [C2] ' on récupère le choix demandé
Set t = Range("H10:H14").Find(Test, LookIn:=xlFormulas, LookAt:=xlWhole) 'on recherche la position du test
If Not t Is Nothing Then 's'il existe
For c = 9 To 11 ' de la colonne 9 à 11
If Cells(t.Row, c) <> "" Then 'si la cellule testée n'est pas vide
Cells(Lig, "B") = Cells(t.Row, "H") 'on recopie le titre et la valeur
Cells(Lig, "C") = Cells(t.Row, c)
Lig = Lig + 1 'on se prépare pour écrire sur la ligne suivante
End If
Next
End If
Application.EnableEvents = True
Set t = Nothing
End Sub |
Partager