Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Liste déroulante et commentaires

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

P

philouis

Guest
Bonjour le forum,

Dans la feuille « planning » aux colonnes D à H se trouve une liste déroulante.
Je souhaiterais que chaque fois que la valeur « visite services » (et uniquement pour cette valeur) de cette liste déroulante est affichée :
1° la date (en ligne) et le nom (en colonne) sont reportées automatiquement dans la feuille « visite services » en colonnes A et B
Exemple : la cellule E 12 de la page « planning » affiche « visite services »
Report automatique dans la feuille « visite services »de la valeur 12/10/2009 en cellule A4 et report automatique de la valeur «Agnès » en cellule B4
2° les éventuelles notes inscrites après coup en colonne C (« observation ») de la feuille « visite services » sont automatiquement reportées dans un « commentaire » lié à la cellule correspondante de la feuille « planning »
3° la feuille « planning » est susceptible d’être modifiée selon les circonstances. Si par exemple dans le cas précédent la cellule E12 est modifiée en prenant une autre valeur que « visite services » (par exemple « réunion ») ou reste à blanc, il faut que toute la ligne qui avait été générée dans la feuille « visite services » - y compris les éventuelles notes inscrites en colonne C (« observation »)- soit supprimée.

Ces problèmes sont pour moi totalement insurmontables.

Merci d’avance aux as du forum qui voudront bien m’apporter leur aide.

Cordialement
 

Pièces jointes

Re : Liste déroulante et commentaires

Bonjour,

Voir point 1 en PJ

Code:
Private Sub Worksheet_Activate()
  Set f = Sheets("Planning 2009")
  [A4:B1000].ClearContents
  For Each c In f.Cells.SpecialCells(xlCellTypeAllValidation)
     If c.Value = "Visite Services" Then
        [A65000].End(xlUp).Offset(1) = f.Cells(c.Row, 1)
        [A65000].End(xlUp).Offset(, 1) = f.Cells(5, c.Column)
     End If
  Next c
End Sub

Il faut écrire chaque date dans une seule cellule en colonne A.

Si le commentaire était saisi en Planning2009.

Code:
Private Sub Worksheet_Activate()
  Set f = Sheets("Planning 2009")
  [A4:B1000].ClearContents
  For Each c In f.Cells.SpecialCells(xlCellTypeAllValidation)
     If c.Value = "Visite Services" Then
        [A65000].End(xlUp).Offset(1) = f.Cells(c.Row, 1)
        [A65000].End(xlUp).Offset(, 1) = f.Cells(5, c.Column)
        [A65000].End(xlUp).Offset(, 2) = c.Comment.Text
     End If
  Next c
End Sub

JB
 

Pièces jointes

Dernière édition:
Re : Liste déroulante et commentaires

Bonjour Boisgontier,

Merci pour la réponse et pour la contribution. Le report et la suppression et ou mise à jour se font bien comme je l'espérais, sauf pour la date qui reprend que le jour de la semaine (lundi, mardi) et non la date complète : est-il possible de modifier ça (j'en suis incapable !)
Enfin, la question 2 concernant les notes à reporter dans un commentaire de cellule reste en suspens mais peut-être n'est-ce-pas réalisable ?
Philouis
 
Re : Liste déroulante et commentaires

OK, pour la date, j'ai pigé !

Concernant le commentaire dois-je comprendre qu'il faut que j'inverse mon raisonnement, c'est à dire alimenter la zone commentaire de la cellule concernée en feuille "planning" le report se faisant automatiquement en feuille "visite services" ?
si ça doit fonctionner dans ce sens ça me va très bien. Dans ce cas j'imagine qu'il faut insérer le second code transmis : à quel endroit dois-je le placer ?
Merci encore
Philouis
 
Re : Liste déroulante et commentaires

Ah, j'ai compris, il suffisait de remplacer le premier code par le second : j'ai testé, ça marche.
Dernière petite chose : est-il possible de supprimer l'en-tête de texte du commentaire qui s'affiche de manière systèmatique en l'occurence "philippe", ça pollue le commentaire affiché en page "visite services".
Merci encore à toi, Boisgontier pour avoir bien voulu m'accorder un peu de ton temps.
 
Re : Liste déroulante et commentaires

Code:
Private Sub Worksheet_Activate()
  Set f = Sheets("Planning 2009")
  [A4:B1000].ClearContents
  For Each c In f.Cells.SpecialCells(xlCellTypeAllValidation)
     If c.Value = "Visite Services" Then
        [A65000].End(xlUp).Offset(1) = f.Cells(c.Row, 1)
        [A65000].End(xlUp).Offset(, 1) = f.Cells(5, c.Column)
        If Not c.Comment Is Nothing Then
          temp = c.Comment.Text
          p = InStr(temp, ":")
          If p <> 0 Then temp = Mid(temp, p + 1)
          [A65000].End(xlUp).Offset(, 2) = temp
        End If
     End If
  Next c
End Sub

http://boisgontierjacques.free.fr/pages_site/dates.htm#CreaBD

JB
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…