Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Insérer des commentaires à l'aide d'une macro

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

isa44

XLDnaute Occasionnel
Bonjour , à l'aide d'une macro ; je voudrais insérer des commentaires indiquant des heures de début et fin de service.
Ces commentaires sont dépendant d'une feuille d'horaire.

je joint un fichier résumé qui sera plus explicatif.

Merci pour votre aide
 

Pièces jointes

Re : Insérer des commentaires à l'aide d'une macro

Bonjour isa44

A tester:

Code:
Sub commentaires()
Dim comm As String
Set plage = Range("B6:B" & Range("B65536").End(xlUp).Row)
Set plage = Application.Union(plage, Range("G6:G" & Range("G65536").End(xlUp).Row))
Set plage = Application.Union(plage, Range("L6:L" & Range("L65536").End(xlUp).Row))
Set plage = Application.Union(plage, Range("Q6:Q" & Range("G65536").End(xlUp).Row))
tablo = Sheets("A").Range("B2:F" & Sheets("A").Range("B65536").End(xlUp).Row)
For Each cel In plage
  For n = LBound(tablo, 1) To UBound(tablo, 1)
    If tablo(n, 1) = cel.Value Then
      comm = comm & "debut: " & Format(tablo(n, 3), "hh:mm") & Chr(10) & "fin: " & Format(tablo(n, 5), "hh:mm") & Chr(10)
    End If
  Next
  cel.ClearComments
  cel.AddComment.Text Text:=comm
  comm = ""
Next
End Sub
 

Pièces jointes

Re : Insérer des commentaires à l'aide d'une macro

Bonjour , il faudrait quelques finitions pour que ce soit parfait.
Ajustement de la taille du commentaire et ordre des textes dans le commentaire.

Ci joint mon fichier à modifier
 

Pièces jointes

Re : Insérer des commentaires à l'aide d'une macro

Code:
Je suis désolée , j'essaie de modifier lorsque je m'aperçois qu'il manque des choses.

J'ai encore " bricolé" le code mais je n'arrive pas à avoir le texte de la colonne G à la fin du commentaire

Code:
Sub commentaires()
Dim comm As String

Cells.ClearComments ' efface les commentaires

Set plage = Range("B6:B27")
Set plage = Application.Union(plage, Range("G6:G30"))
Set plage = Application.Union(plage, Range("L6:L41"))
Set plage = Application.Union(plage, Range("Q6:Q39"))

tablo = Sheets("A").Range("B2:G" & Sheets("A").Range("B200").End(xlUp).Row)

For Each cel In plage
If InStr(cel.Value, Chr(10)) <> 0 Then
  acomp = Split(cel.Value, Chr(10))(0)
Else
  acomp = cel.Value
End If
  For n = LBound(tablo, 1) To UBound(tablo, 1)
   If tablo(n, 1) = acomp Then
      comm = comm & "debut: " & Format(tablo(n, 3), "hh:mm") & Chr(10) & "fin: " & Format(tablo(n, 5), "hh:mm") _
      & Chr(10) & "" & Chr(10) & "" & (tablo(n, 6)) & Chr(10)
    End If
  Next
  
  cel.ClearComments
  cel.AddComment comm
  If Len(comm) > 30 Then
    cel.Comment.Shape.Height = cel.Comment.Shape.Height * 1.2
  Else
    cel.Comment.Shape.Height = cel.Comment.Shape.Height * 0.8
  End If
  comm = ""
Next
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

Réponses
4
Affichages
378
Réponses
8
Affichages
275
  • Question Question
Réponses
6
Affichages
416
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…