XL 2019 [ VBA ]Ajouter un commentaire dans chaque cellule

SamSam84

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je ne suis pas un AS de VBA, mais en général j'arrive à me débrouiller pour obtenir une solution afin de faire fonctionner mes macros.

Cependant, là je bute un peu..

J'ai une feuille excel avec différentes colonnes. J'aimerai que dans chaque cellule de la colonne H figurent en commentaire la donnée de la cellule en Offset(0, 43) lorsque j'enregistre la feuille excel.

Je sais comment ajouter un commentaire via VBA, je sais comment faire pour exécuter l'action lorsque j'enregistre la feuille, mais je ne sais absolument pas comment écrire un code permettant l'action pour chaque cellule de la colonne.


Pourriez-vous svp m'apporter une solution?

Par avance merci.
 

SamSam84

XLDnaute Nouveau
Voici le code adapté à mon fichier :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Application.ScreenUpdating = False
Dim Derlig&, i&
Derlig = Worksheets("BdD").Range("H" & Rows.Count).End(xlUp).Row
For i = 2 To Derlig
With Range("H" & i)
.ClearComments
.AddComment
.Comment.Text Text:=Range("AY" & i).Value 'on met la valeur de la cellule Jx en commentaire dans la cellule Dx
End With
Next i


End Sub



Ce qui me donne l'erreur suivante :

Erreur d'execution 1004
Erreur définie par l'application ou par l'objet
 

SamSam84

XLDnaute Nouveau
Haaa c'est bon j'ai trouvé !

Le code est adapté à un tableau avec sa ligne total, qui est comptée avec "Derlig". J'ai fait un petit -1 sur ce dernier et tout est rentré dans l'ordre !

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Application.ScreenUpdating = False
Dim Derlig&, i&
Derlig = Worksheets("BdD").Range("H" & Rows.Count).End(xlUp).Row - 1
For i = 2 To Derlig
With Range("H" & i)
.ClearComments
.AddComment
.Comment.Text Text:=Range("AY" & i).Value 'on met la valeur de la cellule Jx en commentaire dans la cellule Dx
'.Comment.Shape.TextFrame.AutoSize = True 'On ajuste les commentaires
End With
Next i


End Sub




Merci @Phil69970 pour ton codage :)
:)
 

Phil69970

XLDnaute Barbatruc
@SamSam84

Pour info :

Quand on met un fichier à dispo il doit être le plus représentatif .
C'est quoi représentatif ?
- représentatif, même organisation des lignes et des colonnes, mêmes libellés, mêmes noms de feuilles...
- anonymisé, pas de données personnelles réelles tels nom, n° sécu, adresse ...
- simplifié, une quinzaine de lignes reproduisant l'ensemble des différents cas envisageables

*Éventuellement préciser l'ordre de grandeur des lignes à traiter, exemple mon fichier comporte 1 000 lignes ou bien 200 000 lignes ==> la méthodologie peut être différents.

Une demande claire donne très souvent une réponse rapide et qui correspond au mieux à la demande.

De plus si cela fonctionne sur le fichier que je fournis et pas sur le vrai fichier j'en conclu qu'il n'est en rien représentatif ou que tu n'as pas su transposer ce qui devrait être un simple copier coller.

Pense à valider le post qui te vas

@Phil69970
 

SamSam84

XLDnaute Nouveau
Bonjour @Usine à gaz,

Je n'ajoute pas le même commentaire dans chaque cellule. Pour en dire un peu plus, j'ai un process avec des étapes à valider/concevoir pour des sites (représentés par ligne). Ces étapes sont validées par des dates dans des colonnes et par site (donc par ligne). Je voulais qu'a chaque enregistrement de la feuille les commentaires s'affichent par site et par résultat de la cellule se situant à 8 colonnes de la cellule du site. Dur dur à expliquer...
Avec un petit fichier joint ca ira mieux 😅
🤣
 

Pièces jointes

  • Explicatif.xlsx
    14.6 KB · Affichages: 8

Discussions similaires

Réponses
7
Affichages
434
Réponses
32
Affichages
965

Statistiques des forums

Discussions
315 098
Messages
2 116 189
Membres
112 679
dernier inscrit
Yupanki