Microsoft 365 Extraire les données de la valeur cherchée en note

  • Initiateur de la discussion Initiateur de la discussion Lau01150
  • 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 !

Lau01150

XLDnaute Nouveau
Bonjour,

J'ai mis en place cette Macro pour afficher en note un commentaire en fonction du texte dans ma case.
Je ne sais pas si ça vient de ça mais mon fichier à 1736 lignes...😅
du coup quand je change une donnée dans ma colonne F, celle avec les notes, le chargement est très long.
Peut-être que cela vient de la programmation...
Je commence tout juste avec le VBA donc j'ai besoin de l'aide d'experts 😊

Private Sub Worksheet_Change(ByVal Target As Range)
Dim chaine As String: Dim pos As Byte
Dim c As Excel.Comment

If Target.Column = 6 And Target.Count = 1 Then

Target.ClearComments

pos = Application.Match(Target.Value, Application.Index([Tableau8], , 1), 0)
chaine = [Tableau8].Cells(pos, 2) & vbLf
Target.AddComment chaine

For Each ws In Worksheets
For Each c In ws.Comments
c.Shape.TextFrame.Characters.Font.Bold = False
Next c
Next ws

End If

End Sub


Merci beaucoup pour votre aide.
Laurine
 
Solution
Re,
Si vous y tenez, ne mettez que le commentaire en cours en non gras, avec :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim chaine As String: Dim pos As Byte
Dim c As Excel.Comment
If Target.Column = 6 And Target.Count = 1 Then
    Target.ClearComments
    pos = Application.Match(Target.Value, Application.Index([Tableau8], , 1), 0)
    chaine = [Tableau8].Cells(pos, 2) & vbLf
    Target.AddComment chaine
    Target.Comment.Shape.TextFrame.Characters(1, Len(chaine)).Font.Bold = False
End If
End Sub
Bonjour Lau, et bienvenu sur XLD, bonjour Oneida,
C'est votre boucle qui met tous les commentaires en non gras qui prends 99% du temps.
Sur mon PC on passe de 5.5s avec cette boucle à 3ms sans cette boucle.
Est-elle vraiment utile ? Ce serait plus simple de s'en passer. 🙂
 
Re,
Si vous y tenez, ne mettez que le commentaire en cours en non gras, avec :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim chaine As String: Dim pos As Byte
Dim c As Excel.Comment
If Target.Column = 6 And Target.Count = 1 Then
    Target.ClearComments
    pos = Application.Match(Target.Value, Application.Index([Tableau8], , 1), 0)
    chaine = [Tableau8].Cells(pos, 2) & vbLf
    Target.AddComment chaine
    Target.Comment.Shape.TextFrame.Characters(1, Len(chaine)).Font.Bold = False
End If
End Sub
 
- 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

Retour