Calcul dans commentaire

Jouxte

XLDnaute Occasionnel
Bonjour à toutes et tous

Je souhaite intégrer automatiquement un commentaire comprenant un calcul.
J'ai trouvé sur Le Forum le code joint dans le fichier test ci-joint qui fait pratiquement ce que je souhaite faire sauf qu'il le fait pour toute les cases du tableau et que je ne souhaite le voir appliquer que sur les cellules de toute la colonne B et que la formule n'est pas la même.
Mes connaissances étant limitées je ne sais pas modifier par moi même le code.

Est-il possible de faire pour que la macro définitive permette d'insérer ou supprimer une colonne entre B et L ?

Merci à vous !

Jouxte
 

Pièces jointes

  • Testoxy.xls
    26.5 KB · Affichages: 596
  • Testoxy.xls
    26.5 KB · Affichages: 619
  • Testoxy.xls
    26.5 KB · Affichages: 647

SergiO

XLDnaute Accro
Re : Calcul dans commentaire

Bonsoir Jouxte

Essaie ceci :


Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Solde, Lig, Col, Nom
If Not Intersect(Target, Range("B2:B65356")) Is Nothing Then
Nom = Target.Value
Lig = Target.Row
Col = Range("IV1").End(xlToLeft).Column
Solde = Format(Cells(Lig, Col), "0.00")
ActiveSheet.UsedRange.ClearComments
If Target.Value <> "" Then
Target.AddComment.Text Text:="Solde de " & Nom & " :" & Chr(10) & Solde & " €"
Target.Comment.Shape.TextFrame.AutoSize = True
End If
End If
End Sub

@+
 

Jouxte

XLDnaute Occasionnel
Re : Calcul dans commentaire

Bonjour le Forum, bonjour SergiO,
Merci de ton aide.
La réponse que tu m'apportes me renvoie en commentaire le montant sur la même ligne.
J'aurais souhaité que le commentaire affiche le résultat du calcul suivant en B2 :
=SOMMEPROD(($B$2:$B2=$B2)*(OU($C$2:$C2="Report";$C$2:$C2="Val"))*($L$2:$L2))
en B3
=SOMMEPROD(($B$2:$B3=$B3)*(OU($C$2:$C3="Report";$C$2:$C3="Val"))*($L$2:$L3))
en B4
=SOMMEPROD(($B$2:$B4=$B4)*(OU($C$2:$C4="Report";$C$2:$C4="Val"))*($L$2:$L4))
et ainsi de suite.
Par ailleurs peut-on faire pour que les négatifs s'affichent en rouge.
Merci encore
a+
 

SergiO

XLDnaute Accro
Re : Calcul dans commentaire

Re,

Je n'avais bien tout compris au premier coup, voici un 2ème essai.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Solde, Lig, Col, Nom
Solde = 0
If Not Intersect(Target, Range("B2:B65356")) Is Nothing Then
Nom = Target.Value
Lig = Target.Row
Col = Range("IV1").End(xlToLeft).Column
For i = 2 To Lig
If Cells(i, 2) = Target Then
If Cells(i, 3) = "Report" Or Cells(i, 3) = "Val" Then
Solde = Solde + Cells(i, Col)
End If
End If
Next i
Solde = Format(Solde, "0.00")
ActiveSheet.UsedRange.ClearComments
If Target.Value <> "" Then
Target.AddComment.Text Text:="Solde de " & Nom & " :" & Chr(10) & Solde & " €"
With Target.Comment.Shape
.TextFrame.AutoSize = True
.OLEFormat.Object.Font.Bold = True
If Solde < 0 Then
.OLEFormat.Object.Font.ColorIndex = 3
Else
.OLEFormat.Object.Font.ColorIndex = xlAutomatic
End If
End With
End If
End If
End Sub
@+
 
Dernière édition:

Discussions similaires

Réponses
4
Affichages
318

Membres actuellement en ligne

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 186
dernier inscrit
Eliyass