Commentaires dynamiques

N

Nit 06

Guest
Un grand bonjour aux lectrices et lecteurs du forum.

Ma question porte sur l'insertion de commentaires.

Ma feuille en comporte une cinquantaine qu'il me faut périodiquement mettre à jour. C'est long et générateur d'erreur.

Existe t-il un moyen pour mettre ces commentaire à jour automatiquement en fonction de données qu j'actualiserais dans une autre feuille? (un commentaire peut comprter le CA, la marge, le résultat comptable...)

D'avance tous mes remerciements pour votre aide. :)

Bonne journée!!
 

Minick

XLDnaute Impliqué
Re : Commentaires dynamiques

quelque chose comme ca:
Code:
Sub AjouteCommentaire()
    Dim Cellule As Range
    Dim ws As Worksheet
    
    Set ws = Sheets("feuil1")

    For Each Cellule In ws.Range("A1:A" & ws.Range("B65536").End(xlUp).Row)
        If Not Cellule.Comment Is Nothing Then
            Cellule.Comment.Delete
        End If
        
        If Cellule.Offset(, 1).Value <> "" Then
            Cellule.AddComment Cellule.Offset(, 1).Value
        End If
    Next Cellule
End Sub
 

sebdumar

XLDnaute Nouveau
Re : Commentaires dynamiques

quelque chose comme ca:
Code:
Sub AjouteCommentaire()
    Dim Cellule As Range
    Dim ws As Worksheet
    
    Set ws = Sheets("feuil1")

    For Each Cellule In ws.Range("A1:A" & ws.Range("B65536").End(xlUp).Row)
        If Not Cellule.Comment Is Nothing Then
            Cellule.Comment.Delete
        End If
        
        If Cellule.Offset(, 1).Value <> "" Then
            Cellule.AddComment Cellule.Offset(, 1).Value
        End If
    Next Cellule
End Sub

Tout simplement magnifique !!!
un grand merci et bravo.
 

sebdumar

XLDnaute Nouveau
Re : Commentaires dynamiques

Jacques,

Je suis allé sur ta page, et ton code pour envoi de mail m'intéresse beaucoup.
Code:
Sub envoi_Feuille()
  répertoireAppli = ActiveWorkbook.Path
  Sheets("résultats").Copy
  Application.DisplayAlerts = False
  ActiveWorkbook.SaveAs répertoireAppli & "\Resultats.xls"
  ActiveWindow.Close
  '--- Envoi par mail
  Dim olapp As Outlook.Application
  Sheets("destinataires").Select
  Range("A11").Select
  Do While Not IsEmpty(ActiveCell)
     Dim msg As MailItem
     Set olapp = New Outlook.Application
     Set msg = olapp.CreateItem(olMailItem)
     msg.To = ActiveCell.Value
     msg.Subject = Range("A2").Value
     msg.Body = Range("A5").Value & Chr(13) & Chr(13) & Range("A8").Value & Chr(13) & Chr(13)
     msg.Attachments.Add Source:=répertoireAppli & "\Resultats.xls"
     msg.Send
     ActiveCell.Offset(1, 0).Select
  Loop
End Sub
Et je voudrais savoir:
1. comment envoyer par mail des données d'un tableau dans le corp du message.
2. Mettre la liste des adresses mail en CCI
3. Ajouter un mail CC
4. Ajouter des PJ celui là ne fonctionne (car pas de chemin d'accés)
Code:
Sub envoi_PJ()
    ChDir ActiveWorkbook.Path
    répertoireAppli = ActiveWorkbook.Path   ' Penser à Outils/Références Outlook
    '---  Envoi par mail
    Dim olapp As Outlook.Application
    Sheets("destinataires").Select
    [A11].Select
    Do While Not IsEmpty(ActiveCell)
      MsgTo = MsgTo & ActiveCell & ";"
      ActiveCell.Offset(1, 0).Select
    Loop
    Dim msg As MailItem
    Set olapp = New Outlook.Application
    Set msg = olapp.CreateItem(olMailItem)
    msg.To = MsgTo
    msg.Subject = [A2]
    msg.Body = [A5] & Chr(13) & Chr(13) & [A8].Value & Chr(13) & Chr(13)
    '-- pj
    [C8].Select
    Do While Not IsEmpty(ActiveCell)
      nf = ActiveWorkbook.Path & "\" & ActiveCell.Value
      msg.Attachments.Add Source:=nf
      ActiveCell.Offset(1, 0).Select
    Loop
    msg.Send
End Sub

Et puis si tu as la formule pour changer les pierres en Or je suis aussi preneur :D
 

MJ13

XLDnaute Barbatruc
Re : Commentaires dynamiques

Bonjour à tous

sebdumar, il vaudrait mieux ouvrir une nouvelle discussion sur le problème de Mail, car cela n'a rien a voir avec le sujet du début.

Ensuite JB se fera un plaisir de te répondre.
 

Deepdiving

XLDnaute Nouveau
Bonjour à tous,
J'ai essayé tous les codes que j'ai pu trouver (notamment ceux de cette discussion) en les adaptant pour résoudre mon problème mais en vain. La difficulté provient, essentiellement, du fait que je sois novice en VBA et ainsi que mes données soient éparpillées sur la feuille et non ordonnées en tableau. J'explique plus précisémment mon cas ci-dessous.

cf. Excel joint afin de mieux visualiser
Mon fichier est contruit de la façon suivante : la feuille "Dynamic plan" correspond à un plan de magasin et vient récupérer (via un vlookup) les données pour chaque emplacement magasin dans la feuille "Analysis" en fonction du numéro emplacement inscrit dans la feuille "Floor plan", plan identique mais non dynamique.

Requête : Je chercherais un moyen (Code VBA probablement) d'avoir la fonctionnalité suivante : pour la cellule de mon choix (un emplacement magasin) sur le Dynamic plan, afficher en commentaire des informations relatives à l'emplacement inscrites dans une autre feuille appelée "Analysis" (Marque, Vente, Marge, ...).
Il faudrait pouvoir afficher le commentaire de n'importe quel emplacement lorsqu'on le survole/sélectionne mais qu'il ne soit pas afficher de façon permanente, afin que le plan reste lisible et pas trop chargé. Il s'agirait également que ce commentaire soit dynamique, si les emplacements renseignés dans la feuille Analysis venaient à changer.
Enfin, il s'agit avant tout de pouvoir faire apparaîte l'information sur le plan lorsqu'on le souhaite; l'information ne doit pas apparaître nécessairement en commentaire, elle pourrait s'afficher dans une celulle pour l'emplacement sélectionné. Je reste donc ouverte à toute alternative!

J'espère que j'ai été le plus claire possible, je suis bien entendue disponible pour toute précision :)

Merci par avance, bonne journée!
 

Pièces jointes

  • VBA Commentaires dynamiques.xlsm
    48.1 KB · Affichages: 4

Discussions similaires

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 871
dernier inscrit
Maïmanko