Je vais ressayer et en première phase
J'avais cette fonction. Elle ne fonctionne plus. En plus j'aimerais déplace ce deux cellules en R & S 10
En cliquant dans les produits (Colonne D) le fond de la ligne se mettait en jaune et ce cumulet la total (G) dans la cellule E3 et ainsi de suite en cliquant sur d'autre produit ça s'additionnait .
La cellule D3 (raz) effaçait les lignes en jaune et vider le total E3.
Public Flag As Boolean
Private Sub TextBox1_Change()
Filtre_produit TextBox1.Text
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
IndCol = 16777215
If Target.Count > 1 Then Exit Sub 'on sort si plusieurs cellules sélectionnées
If Not Intersect(Target, [RaZ]) Is Nothing Then 'si on clique sur la cellule "RaZ"
[Total] = "" 'on vide le total
ActiveSheet.ListObjects("t_HdC").ListColumns("Produit").DataBodyRange.Interior.Color = xlNone 'on supprime les colorations de la colonne "Produit" de la table "t_HdC"
Else
NomTS = Target.ListObject 'on vérifie qu'on a bien cliqué DANS la table
If NomTS = "" Or NomTS <> "t_HdC" Then Exit Sub 'si on a cliqué ailleurs que DANS la table "t_HdC" ==> on sort
If Not Intersect(Target, ActiveSheet.ListObjects(NomTS).ListColumns("Produit").DataBodyRange) Is Nothing Then 'si on clique DANS la colonne "Produit"
If Target.Interior.Color = IndCol Then 'si pas de couleur
Target.Interior.Color = RGB(255, 255, 0) 'on met en jaune
[Total] = [Total] + Target.Offset(0, 4) 'on ajoute au total
Else 'si c'était en jaune==> on veut donc déselectionner
Target.Interior.Color = IndCol 'on efface la couleur pour revenir à la couleur d'origine (ou presque)
[Total] = [Total] - Target.Offset(0, 4) 'on soustrait au total
End If
ActiveSheet.ListObjects("t_HdC").ListColumns("Produit").Range(1, 1).Select 'on déplace le curseur la ligne d'entete
End If
End If
End Sub