Calcul dans commentaire

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

@+
 
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+
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
198
Retour