Cocher des produits dans une liste

Bonjour

Nous avons un travail a rendre en informatique sur des macros excel (et on est pas très doués...).

Dans un premier temps nous avons une liste de produits dans la colonne A et nous devons sélectionner les produits qui nous intéressent en les cochant("X") dans la colonne B. Cela doit se faire à l'aide d'une macro. Une deuxième macro devra décocher toutes les cases pour réinitialiser la feuille.

Merci à tous

geme a écrit :

Bonjour

Nous avons un travail a rendre en informatique sur des macros excel (et on est pas très doués...).

Dans un premier temps nous avons une liste de produits dans la colonne A et nous devons sélectionner les produits qui nous intéressent en les cochant("X") dans la colonne B. Cela doit se faire à l'aide d'une macro. Une deuxième macro devra décocher toutes les cases pour réinitialiser la feuille.

Merci à tous

Bonjour,

Pour la 2ème macro un simple

Sub efface()

dim i as integer

For i = 1 to X ' remplacer X par le nombre de ligne total à balayer / voir remplacer 1 par la 1ère ligne de votre listing
   If range("B" & i).value = "X" then
      Range("B" & i).value = ""
   end if
next i

end sub

Par contre pour la première macro, comment précisez vous à votre macro quels produits doit-elle cocher ? Saisie dans des cellules, à l'aide d'une userform ,... ?

Merci pour ce premier élément de réponse!

Pour la 1ère macro, c'est l'utilisateur qui décide quels produits il veut sélectionner, donc lorsqu'il clique sur une case de la colonne B, celle-ci doit se cocher.

Merci

Bonjour et bienvenue

Pour Sélectionner (mettre un X en B) : Code à placer dans la feuille

Méthode 1 : sur simple click

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim derlg As Integer
derlg = Range("A65536").End(xlUp).Row
If Not Application.Intersect(Target, Range("B2:B" & derlg)) Is Nothing Then
Target = "X"
End If
End Sub

Méthode 2 : Sur double click

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim derlg As Integer
derlg = Range("A65536").End(xlUp).Row
If Not Application.Intersect(Target, Range("B2:B" & derlg)) Is Nothing Then
Target = "X"
Cancel = True
End If
End Sub

Pour effacer la sélection : Code à placer dans un module (à affecter à un bouton)

Sub Efface()
Dim derlg As Integer
derlg = Range("B65536").End(xlUp).Row + 1
Range("B2:B" & derlg).ClearContents
End Sub

Amicalement

Nad

Merci pour ces réponses mais lorsque l'on active la macro (un click), rien ne s'affiche dans les cases lorsque l'on clique dessus...

Merci

Re

La macro 1 est à placer dans la feuille (click droit sur l'onglet ==> Visualiser le code) et non pas dans un module

Nad

Nad a été plus rapide que moi (trainer ici depuis le boulot ce n'est pas si évident en fait), son code pour la méthode à un click marche très bien chez moi en tous cas.

Merci bien, en effet ce code marche très bien!

Merci encore!!

Rechercher des sujets similaires à "cocher produits liste"