Commentaire / valeur cellule

Bonjour, est-il possible d'adapter ce code à un tableau ?

Private Sub Worksheet_Activate()
 With Range("D4")   
   If .Comment Is Nothing Then Range("D4").AddComment
   .Comment.Text Text:=Sheets("Base de donnée").[D3].Value
   .Comment.Shape.TextFrame.AutoSize = True
 End With
End Sub

Le tableau = D4:BN23

La source = D3:BN22

Merci.

Bonjour,

Private Sub Worksheet_Activate()
Dim Ligne As Integer, Colonne As Integer
    Application.ScreenUpdating = False
    For Ligne = 3 To 22
        For Colonne = 4 To 66
            With Cells(Ligne + 1, Colonne)
                If .Comment Is Nothing Then Cells(Ligne + 1, Colonne).AddComment
                .Comment.Text Text:=Sheets("Base de donnée").Cells(Ligne, Colonne).Value
                .Comment.Shape.TextFrame.AutoSize = True
            End With
        Next Colonne
    Next Ligne
End Sub

A+

Merci pour ton aide frangy, ça fonctionne mais y a t-il un moyen de faire en sorte que s'il n'y a rien en

ex: D7 supprime le commentaire et continu ta boucle ?

j'avais reussi avec ça :

If Not Cells(7, 4).Comment Is Nothing Then

ça fonctionnait avec une cellule mais je sais pas si ça peut le faire avec une boucle.

Qu'entends-tu par "s'il n'y a rien en ex: D7 supprime le commentaire et continu ta boucle " ?

Quelle cellule D7 ? Celle de la feuille active ou celle de "Base de donnée" ?

S'il n'y a rien ? c'est à dire pas de commentaire ou pas de valeur ?

La ligne de code "If Not Cells(7, 4).Comment Is Nothing Then" permet de tester si la cellule contient un commentaire.

Cela ne m'avance pas ...

A+

T'as boucle fonctionne à la condition que toute les cellules de "la base de donnée" soient renseignées, sinon un message d'erreur s'affiche. Y a t'il un moyen de dire : si la cellule D7 de la "base de donnée" est vide supprime le commentaire de la cellule équivalente sur la feuille active ?

J'avais testé ça sur une seule cellule et ça fonctionnait mais je ne sais pas comment l'adapter à ton code.

If Not Cells(7, 4).Comment Is Nothing Then
Selection.ClearComments

Un grand merci pour ton aide

Private Sub Worksheet_Activate()
Dim Ligne As Integer, Colonne As Integer
    Application.ScreenUpdating = False
    For Ligne = 3 To 22
        For Colonne = 4 To 66
            With Cells(Ligne + 1, Colonne)
                If Sheets("Base de donnée").Cells(Ligne, Colonne) <> "" Then
                    If .Comment Is Nothing Then Cells(Ligne + 1, Colonne).AddComment
                    .Comment.Text Text:=Sheets("Base de donnée").Cells(Ligne, Colonne).Value
                    .Comment.Shape.TextFrame.AutoSize = True
                Else
                    .ClearComments
                End If
            End With
        Next Colonne
    Next Ligne
End Sub

A+

ça fonctionne parfaitement, un grand merci à toi frangy pour ton aide.


Il fonctionne pour le texte mais est il possible le le faire fonctionner avec des date ?

If Sheets("Base de donnée").Cells(Ligne, Colonne) <> "" Then
     If .Comment Is Nothing Then Cells(Ligne + 1, Colonne).AddComment
     .Comment.Text Text:=Format(Sheets("Base de donnée").Cells(Ligne, Colonne).Value, "dd mmmm yyyy")
     .Comment.Shape.TextFrame.AutoSize = True

A+

Un grand merci à toi frangy, fonctionne parfaitement, cette fois je te laisse tranquille.

Rechercher des sujets similaires à "commentaire valeur"