Appliquer macro a plusieurs feuilles plusieurs colonnes et automatiquement

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

bylka213

XLDnaute Occasionnel
Bonjour tout le monde je remercie HASCO qui m'a fourni ce code pour pouvoir mettre en commentaire le contenu d'une cellule et effacer cette dernière.


Code:
Sub MettreCommentaire()
    Dim plage As Range
    Dim c As Range
    Dim derLigne As Long
    With ActiveSheet
        derLigne = .Range("[COLOR="red"]J[/COLOR]" & .Rows.Count).End(xlUp).Row
        Set plage = .Range("[COLOR="red"]J1:J[/COLOR]" & derLigne)
    End With
    For Each c In plage.Cells
        If c.Row > 1 Then
            With c
                .ClearComments
                .AddComment Text:=.Text
                .Comment.Shape.Height = 188
                .Comment.Shape.Width = 255
                .ClearContents
            End With
        End If
    Next c
End Sub


J'ai plusieurs questions:

1) Que dois-je changer pour appliquer cette formule aux colonnes J et K en même temps (pour l'instant cela marche pour la colonne J pour l'appliquer à la colonne K je dois modif le code de cette macro)

2) Comme on peut le voir le Active sheet dit bien que cette macro s'applique sur la feuille que l'on est en train de consulter comment puis-je faire pour appliquer cette macro à toutes les feuilles de mon classeur?

3) Autre soucis les données de ces colonnes sont des données provenant d'une source externe donc quand j'actualise la source externe les cellule se ré-remplisse donc je dois relancer la Macro pour les vider.

Conclusion: n'y aurait t-il pas une façon de faire ceci sans macro mais automatiquement à chaque rajout de données dans ces colonnes?

j'ai beaucoup de questions je l'avoue, la "conclusion" serait la solution optimale à mes yeux et en même temps si vous avez des réponses à es questions pour améliorer ma Macro je suis preneur.


Merci à tous et encore merci HASCO
 
Dernière édition:
Re : Appliquer macro a plusieurs feuilles plusieurs colonnes et automatiquement

Je ne m'impatiente pas (enfin si un peu quand même 😀), non mais si quelqu'un aurait la réponse ne serait-ce qu'à une question cela serait très sympa.

Merci
🙂
 
Dernière édition:
Re : Appliquer macro a plusieurs feuilles plusieurs colonnes et automatiquement

Salut tout le monde j'ai réussi à trouver des infos donc pour ceux que ça interesse:

Code:
Sub MettreCommentaire()

Dim V_Sheet As Worksheet

For Each V_Sheet In Worksheets
V_Sheet.Activate
    Dim plage As Range
    Dim c As Range
    Dim derLigne As Long
    With ActiveSheet
        derLigne = .Range("K" & .Rows.Count).End(xlUp).Row
        Set plage = .Range("J1:J" & derLigne)
        Set plage = .Range("K1:K" & derLigne)
    End With
    For Each c In plage.Cells
        If c.Row > 1 Then
            With c
                .ClearComments
                .AddComment Text:=.Text
                .Comment.Shape.Height = 188
                .Comment.Shape.Width = 255
                .ClearContents
            End With
        End If
    Next c

Next V_Sheet

End Sub


voili voilou
😀
 
Re : Appliquer macro a plusieurs feuilles plusieurs colonnes et automatiquement

Encore mieux parce que je viens de me rendre compte que la macro se voi bloquée si je mets en derniere ligne la colonne K si elle est vide à partir d'un moment donc j'ai mis la colonne A qui est toujours remplit

Code:
Sub MettreCommentaire()

Dim V_Sheet As Worksheet

For Each V_Sheet In Worksheets
V_Sheet.Activate
    Dim plage As Range
    Dim c As Range
    Dim derLigne As Long
    With ActiveSheet
        derLigne = .Range("K" & .Rows.Count).End(xlUp).Row
        Set plage = .Range("J1:J" & derLigne)
        Set plage = .Range("K1:K" & derLigne)
    End With
    For Each c In plage.Cells
        If c.Row > 1 Then
            With c
                .ClearComments
                .AddComment Text:=.Text
                .Comment.Shape.Height = 188
                .Comment.Shape.Width = 255
                .ClearContents
            End With
        End If
    Next c

Next V_Sheet

End Sub



Parcontre j'ai une question comment je fais pour dire que lorsque le commentaire est vide on peut le supprimer

Merci
 
- 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
177
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
650
Réponses
7
Affichages
164
Réponses
9
Affichages
581
Retour