liste choix et commentaire

Sarlone

XLDnaute Occasionnel
recoucou
Idée du jour
dans le fichier ci-joint , dans les cases vertes et rouges, il y aura des dates
et pour chacune des cellules une liste deroulante.
Je voudrais que :
1) la date inscrire reste inscrite meme apres les actions qui suivent
2) qd un choix n'est pas fait dans la liste, elle reste rouge
3) qd un choix est fait dans la liste, elle devienne verte
4) que le choix aille s'inscrire en commentaire de la cellule
5) que si le choix est 'autre' , que le commentaire (vierge) s'ouvre et que je puisse entrer le commentaire

voilà

biensûr je regarde ca par moi même, mais si vous avez des suggestions,
je suis preneur

merci
Cordialement
a+

Séb
 

Pièces jointes

  • sarlone-45.zip
    30.9 KB · Affichages: 33

Robert

XLDnaute Barbatruc
Repose en paix
Re : liste choix et commentaire

Bonjour Sarlone, bonjour le forum,

Je ne parviens pas en VBA à ouvrir la fenêtre Commentaire et rester dessus pour attendre l'édition par l'utilisateur... Sinon ça semble correspondre à ta demande.
 

Pièces jointes

  • Sarlone_v01.xls
    86.5 KB · Affichages: 55

Robert

XLDnaute Barbatruc
Repose en paix
Re : liste choix et commentaire

Bonjour le fil, bonjour le forum,

Ha bien vu Armitage. Ça le fait grave. Merci ! Du coup une v02 pour notre ami Sarlone. Le seul défaut à ce code c'est qu'il est impossible du supprimer une date...
 

Pièces jointes

  • Sarlone_v02.xls
    87 KB · Affichages: 54

abtony

XLDnaute Impliqué
Re : liste choix et commentaire

Bonjour le fil,

Robert, tu utilise excel 2003 comme indiqué dans ton profil ou une autre version ?

Comme je teste pas mal de fichier et codes du forum avec excel 2011 mac c'est juste pour information.

Car le bouton crée pour remise a zéro est sélectionnable, mais pas de macro1 de remise a zéro.

Merçi d'avance

c'est juste pour mes test
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : liste choix et commentaire

Bonjour le fil, bonjour le forum,

Pour Abtony...
Le code se fait sur les deux macros événementielles Change et SelectionChange de l'onglet T1_Tableau_absences. Il n'y a pas de Module et donc pas de macro dans le module. Le voici :
Code:
Private d As Variant 'déclare la variable d (Date)
Private test As Boolean 'déclare la variable test
'........................................
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'au changement de sélection
d = ActiveCell.Value 'définit la date d
End Sub
'........................................
 
Private Sub Worksheet_Change(ByVal Target As Range) 'l'édition d'une cellule
Dim com As String 'déclare la variable com (COMmentaire)
 
'si l'édition a lieu ailleurs que dans la plage E11:AB41, sort de la procédure
If Application.Intersect(Target, Range("E11:AB41")) Is Nothing Then Exit Sub
'si l'édition est une date'sort de la procédure (permet de rentrer les dates)
If IsDate(Target.Value) Then Exit Sub
'si la variable test est vraie, sort de la procédure (évite les boucles sur l'événement)
If test = True Then Exit Sub
 
'Condition : si la cellule n'est pas effacée ou si le choix "Autre"n'est pas sélectionné
If Target.Value <> "" And Target.Value <> "Autre" Then
    test = True 'définit la variable test
    com = Target.Value 'définit la variable com
    Target.ClearComments 'supprime un eventuel commentaire
    Target.AddComment com 'ajoute le commentaire correspondant au choix
    Target.Interior.ColorIndex = 4 'colore la cellule de rouge
End If 'fin de la condition
'condition : si la cellule est effacée
If Target.Value = "" Then
    test = True 'définit la variable test
    Target.Interior.ColorIndex = 3 'colore la cellule de vert
    Target.ClearComments 'supprime un eventuel commentaire
End If 'fin de la condition
'condition : si le choix est "Autre"
If Target.Value = "Autre" Then
    test = True 'définit la variable test
    Target.Interior.ColorIndex = 4 'colore la cellule de rouge
    Target.ClearComments 'supprime un eventuel commentaire
    'Imputbox pour écrire le message du commentaire
    Target.AddComment InputBox("vous devez ajouter le commentaire manuellement")
End If 'fin de la condition
Target.Value = d 'remet la date dans la cellule
test = False 'redéfinit la variable test
End Sub
 

Sarlone

XLDnaute Occasionnel
Re : liste choix et commentaire

re
juste une question
la variable com est elle indispensable
peut on faire qqch du type


Target.ClearComments 'supprime un eventuel commentaire
Target.Comment = Target.Value

ou

Target.ClearComments 'supprime un eventuel commentaire
Target.AddComment Target.Value

merci
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : liste choix et commentaire

Bonsoir le fil, bonsoir le forum,

Si si Sarlone, on peut tout à fait faire sans la variabe com, comme tu le montres.
Sinon J'ai vu un petit bug. À l'ouverture du fichier, j'ai voulu changer un commentaire sur la cellule active. Comme il n'y avait pas eu de SelectionChange au préalable la variable d était vide et donc la date a disparue de la cellule. Pour y remédier if faudrait une macro événementielle à l'ouverture du fichier (et peut-être aussi d'ailleurs une autre à l'activation de l'onglet) qui sélectionne une cellule en dehors de la plage E11:AB41. Au moins on serait sûr d'avoir un SelectionChange en cliquant sur une cellule contenant la validation de données.
donc pour l'onglet T1_Tableau_absences :
Code:
Private Sub Worksheet_Activate() 'à l'activation de l'onglet
Range("A1").Select 'sélectionne la cellule A1
End Sub
pour ThisWorkbook :
Code:
Private Sub Workbook_Open()
With Sheets("T1_Tableau_absences") 'prend en compte l'onglet "T1_Tableau_absences"
    .Select 'sélectionne l'onglet
    .Range("A1").Select 'sélectionne la cellule A1
End With 'fin de la prise en compte de l'onglet "T1_Tableau_absences"
End Sub
 

Discussions similaires

Réponses
8
Affichages
470

Statistiques des forums

Discussions
312 452
Messages
2 088 544
Membres
103 880
dernier inscrit
rafaelredsc