XL 2019 Opérations +-/* avec format texte

Pol

XLDnaute Occasionnel
Bonjour à tous,

J'ai une macro qui permet d'afficher dans ma barre d'état (barre tout en bas) des opérations effectuées sur une ou plusieurs cellules, par exemple si 2 cellules selectionnées il fait la différence des 2 cellules, ce n'est pas fantastique mais très pratique ! le problème est quand je selectionne 2 cellules qui contiennent du texte la macro plante...

1589661698187.png


1589661793704.png


Comment puis-je adapter mon code pour éviter le plantage ? (idem quand j'ai un zero, division impossible)

Voici mon code actuel :

If Target.Areas.Count = 2 Then
Application.StatusBar = "Différence : " & Format(WorksheetFunction.Sum(Target.Areas(1)) - WorksheetFunction.Sum(Target.Areas(2)), "# ### ##0.00")

Merci beaucoup pour votre aide,

Pol,
 

job75

XLDnaute Barbatruc
Bonsoir Pol, fanch55, Gégé-45550,

Voyez le fichier joint et cette macro dans le code de la feuille :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.StatusBar = "" 'RAZ
If Target.Areas.Count <> 2 Then Exit Sub
Dim s1#, s2#
s1 = Application.Sum(Target.Areas(1))
s2 = Application.Sum(Target.Areas(2))
Select Case CStr([A1])
    Case "+": Application.StatusBar = "Somme : " & s1 + s2
    Case "-": Application.StatusBar = "Différence : " & s1 - s2
    Case "*": Application.StatusBar = "Produit : " & s1 * s2
    Case "/": If s2 = 0 Then Application.StatusBar = "#DIV/0!" Else Application.StatusBar = "Rapport : " & s1 / s2
End Select
End Sub
Bonne nuit.
 

Pièces jointes

  • Opérations(1).xlsm
    16.3 KB · Affichages: 12

Statistiques des forums

Discussions
312 185
Messages
2 086 011
Membres
103 093
dernier inscrit
Molinari