XL 2019 [Résolu] Copier/copier valeur d'une cellule note/commentaire inclus

Neo37

XLDnaute Junior
Bonjour,

Je souhaiterais pouvoir automatiquement quand il y a un changement de donnée sur une feuille de mon fichier, qu'elle se répercute sur les autres onglets.
La valeur des cellules j'y arrive, mais les éventuelles note/commentaire par contre je ne trouve pas comment faire pour qu'elle se copie aussi.

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Sh As Worksheet
    If Not Intersect(Target, [ALL]) Is Nothing Then
        For Each Sh In Sheets
            
            Feuil3.Cells(Target.Row, Target.Column) = Target.Value
            Feuil4.Cells(Target.Row, Target.Column) = Target.Value
            
        Next Sh
    
    End If
End Sub

Merci d'avance à ceux qui s'y intéresseront.
 

Neo37

XLDnaute Junior
Bonjour job,

Désolé pour le manque d'info.
La feuille source c'est Feuil1, le code se trouve dans cette feuil1.
Et je vais avoir à copier les données dans 3 ou 4 feuilles, là j'en ai mis que 2 pour les tests.

ALL c'est la zone d'action de la macro, qui représente pour l'instant toute la Feuil1 en fait.
 

job75

XLDnaute Barbatruc
Voyez le fichier joint et cette macro dans ThisWorkbook :
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim plage As Range, destination
Set plage = Feuil1.UsedRange 'plage à adapter, Feuil1 => CodeName
destination = Array("Feuil3", "Feuil4", "Feuil5") 'CodeNames à adapter
If IsNumeric(Application.Match(Sh.CodeName, destination, 0)) Then plage.Copy Sh.Range(plage.Address)
End Sub
Elle se déclenche quand on active une feuille, toute la plage source est copiée.
 

Pièces jointes

  • Classeur(1).xlsm
    22.2 KB · Affichages: 3

Neo37

XLDnaute Junior
Ta méthode copie bien valeur et note, mais j'ai omis une info.
Je veux qu'une copie de donnée se fasse seulement sur la cellule que je modifie en Feuil1, mais que l'on puisse quand même pouvoir ensuite modifier les valeurs des Feuil2, Feuil3, etc...
Là en fait la Feuil1 se recopie entièrement et tout le temps sur les autres feuilles.

J'espère mettre clairement expliqué.
 

job75

XLDnaute Barbatruc
Alors placez cette macro dans le code de Feuil1 :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim destination, w As Worksheet
Set Target = Target(1) 'une seule cellule sera copiée
destination = Array("Feuil3", "Feuil4", "Feuil5") 'CodeNames à adapter
For Each w In Worksheets
    If IsNumeric(Application.Match(w.CodeName, destination, 0)) Then Target.Copy w.Range(Target.Address)
Next
End Sub
Mais il faut que la cellule source soit validée après création du commentaire.
 

Pièces jointes

  • Classeur(2).xlsm
    21.9 KB · Affichages: 0

Discussions similaires

Réponses
2
Affichages
465