• Initiateur de la discussion Initiateur de la discussion Pol
  • Date de début Date de début

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 !

Pol

XLDnaute Occasionnel
Bonjour à tous,

J'ai une macro qui me permet d'afficher sans action de ma part à l'écran la différence ou le rapport entre deux cellules que j'ai sélectionnées. Le problème est que si par erreur je sélectionne une cellule contenant un nombre avec une cellule ne contenant pas un nombre (cellule vide ou texte par exemple) un message d'erreur intervient "erreur d'excution "11" et ma macro ne fonctionne plus. Je suis obligé de sortir et re rentrer pour pouvoir ré-utiliser cette macro.

Quelqu'un pourrait-il m'aider pour modifier mon code en conséquence.

Voici mon code :

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

Merci beaucoup pour votre aide.

Pol
 
Re : Problème Macro

Merci Jean Marcel,

Je n'arrive pas à utiliser l'adaptation de ton code, en fait ma macro est plus complète et je crois qu'entre tous les if ça ne marche pas. Je te communiques mon code complet. Merci pour ton aide précieuse.

Pol.



Private Sub MonExcel_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
' Entre 2 plages de cellules

If Target.Areas.Count = 2 Then
Application.StatusBar = "Différence : " & Format(WorksheetFunction.Sum(Target.Areas(1)) - WorksheetFunction.Sum(Target.Areas(2)), "# ##0.00") _
& " Rapport % : " & Format(WorksheetFunction.Sum(Target.Areas(1)) / WorksheetFunction.Sum(Target.Areas(2)) * 100, "# ##0.00")
ElseIf Target.Areas.Count = 1 And WorksheetFunction.Sum(Target) <> 0 Then
Application.StatusBar = "HT : " & Format(Round(WorksheetFunction.Sum(Target) / 1.196, 2), "# ##0.00") _
& " TTC : " & Format(Round(WorksheetFunction.Sum(Target) * 1.196, 2), "# ##0.00") _
& " TVA : " & Format(Round(WorksheetFunction.Sum(Target) * 0.196, 2), "# ##0.00")
Else
Application.StatusBar = ""
End If
End Sub
 
Re : Problème Macro

Bonjour Jean-Marcel,

Il faut changer l'extension en .xlam puis l'ajouter en tant que complément dans excel. Je ne sais pas trop si c'est comme ça que l'on dit. Dans un classeur vide Options Excel, compléments, atteindre, parcourir puis pointez sur le fichier affichageoperations.xlam

Merci bcp.

pol
 
- 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
3
Affichages
666
Réponses
3
Affichages
563
  • Question Question
Microsoft 365 Programme trop lent
Réponses
12
Affichages
1 K
Réponses
10
Affichages
4 K
Retour