Code VBA insérer un commentaire sous condition

Elisa47

XLDnaute Nouveau
Bonjour le forum,

J'ai un fichier Excel qui comprend 2 onglets : "coupon réponse 1Q2019" et "Feuille2".
Dans l'onglet "coupon réponse 1Q2019" les utilisateurs remplissent les cellules des colonnes C, D, E et F en fonction de leur choix. S'ils veulent participer à une sortie et faire 18 trous, ils inscrivent 1 dans la colonne "18 Trous" (colonne E), s'ils veulent faire 9 trous, ils inscrivent 1 dans la colonne "9 Trous" (colonne F), s'ils veulent participer au repas, ils notent 1 dans la colonne "Repas" (colonne G), et s'ils veulent une golfette, ils notent 1 dans la colonne "Golfette" (colonne H).
Les valeurs des cellules des colonnes E, F et G sont reportées dans l'onglet "Feuille2".
Pour faciliter l'exploitation de ce fichier qui est envoyé à tous les adhérents, je souhaiterai que lorsqu'un adhérent demande une golfette pour faire 18 trous ou 9 trous, à une sortie, une macro, insère un commentaire dans la cellule correspondante de la Feuille2.
Voir le fichier joint.
Merci d'avance pour votre aide.
 

Fichiers joints

Elisa47

XLDnaute Nouveau
Bonjour CHALET53,

Merci pour ton aide.
Petite précision le commentaire doit être ajouté aux cellules 18T ou 9T, uniquement si une golfette est demandée, c'est à dire s'il y a un "1" dans la colonne "Golfette" de l'onglet "coupon réponse 1Q2019".
Pour simplifier j'ai reporté cette information dans l'onglet "Feuille2", à la ligne 5, avec un "1" sous "18T" ou "9T" si une golfette est demandée.
J'ai collé dans ton code dans le classeur, mais je ne sais pas le modifier, pour que le commentaire soit inséré à la ligne 4 eu lieu de la ligne 5.
Pourrais-tu le corriger STP ?
Merci
 

Fichiers joints

CHALET53

XLDnaute Barbatruc
Je ne suis pas sûr de comprendre ce que tu veux faire
Mettre sur la ligne 4 le commentaire :eek:k
Je suppose qu'il peut y avoir un autre individu sur la ligne 5 : s'il y a un "1" dans la colonne 18T pour cet individu, il faut mettre le commentaire sur cette ligne également, je suppose
..et ainsi de suite
 

Elisa47

XLDnaute Nouveau
Re-bonjour CHALET53,

Non ce fichier ne sert qu'à une seule personne et donc seules les lignes 4 et 5 de l'onglet "Feuille2" m'intéressent. Chaque membre de l'association reçoit un fichier identique à celui-ci et indique ces souhaits en mettant un "1" dans les sorties de l'onglet "coupon réponse 1Q2019".
Les données des cellules (D4:BN5) sont ensuite copiées et collées dans un fichier général avec tous les membres de l'association et le calendrier des sorties.
Et pour savoir si un joueur veut une golfette pour une sortie, on insère un commentaire dans la cellule qui contient un "1" dans la colonne "18T" ou "9T" de la sortie concernée.

Encore merci pour ton aide.
 

job75

XLDnaute Barbatruc
Bonjour Elisa47, CHALET53,

Avec le fichier du post #1 :
Code:
Sub CommentaireGolfette()
Dim c As Range, c1 As Range, c2 As Range
Application.ScreenUpdating = False
On Error Resume Next 'si aucune SpecialCell
Rows(4).ClearComments 'RAZ
For Each c In Feuil1.[H:H].SpecialCells(xlCellTypeConstants, 1)
    Set c1 = Cells(2, Application.Match(c(1, -5), Rows(2), 0))
    Set c2 = Nothing
    If c1(3, 0) <> 0 Then
        Set c2 = c1(3, 0)
    ElseIf c1(3, 1) <> 0 Then
        Set c2 = c1(3, 1)
    End If
    With c2.AddComment
        .Text "Golfette partagée"
        .Shape.TextFrame.AutoSize = True
        .Shape.Top = c2(2).Top
        .Visible = True
    End With
Next
End Sub
A+
 

Fichiers joints

Elisa47

XLDnaute Nouveau
Bonjour job75, CHALET53,

Merci beaucoup pour votre aide.

Très bonne journée.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas