OVH Cloud OVH Cloud

comment créer une macro

1 réponse
Avatar
Lisy59
j'ai un fichier d'environ 70 personnes avec des menus divers
je souhaiterai pouvoir sélectionner un plat et obtenir tout les noms des
personnes qui n'aime pas ce plat afin de mettre un substitut à ce repas ci
dessou type de tableau que j'ai créer sous excel 2003
merci de me donner une réponse

REPAS DU JOURS : Camille Grégorio Domis Yvette
1 2 3 4
Agneau rôti X
Blanquette de veau
Boudin Blanc X
Boudin noir X
Cabillaut X
Carbonnade Flamande
Cervelas Obernais
Choucroute
Coquelet rôti
Côte de porc

1 réponse

Avatar
Hervé
Salut,
Regarde si cela te convient, sûrement possible de l'optimiser mais pas le
temps, désolé. A mettre dans le module de ta feuille :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Plage As Range
Dim I As Long, J As Long
Dim LesNoms As String
Dim Col As String
If Not Intersect(Target, [A:A]) Is Nothing _
And Target.Count = 1 Then
Set Plage = Range(Target.Offset(0, 1), _
Target.Offset(0, 255).End(2))
For I = 1 To Plage.Count
If Plage(I).Value = "X" Then
Col = Replace(Plage(I).Address, "$", "")
For J = Len(Col) To 1 Step -1
If InStr("1234567890", Mid(Col, J, 1)) = 0 Then
Col = Left(Col, J) & 1
Exit For
End If
Next J
LesNoms = LesNoms & Range(Col) & vbCrLf
End If
Next I
MsgBox LesNoms
End If
Set Plage = Nothing
End Sub

Hervé.

"Lisy59" a écrit dans le message news:

j'ai un fichier d'environ 70 personnes avec des menus divers
je souhaiterai pouvoir sélectionner un plat et obtenir tout les noms des
personnes qui n'aime pas ce plat afin de mettre un substitut à ce repas ci
dessou type de tableau que j'ai créer sous excel 2003
merci de me donner une réponse

REPAS DU JOURS : Camille Grégorio Domis Yvette
1 2 3 4
Agneau rôti X
Blanquette de veau
Boudin Blanc X
Boudin noir X
Cabillaut X
Carbonnade Flamande
Cervelas Obernais
Choucroute
Coquelet rôti
Côte de porc