Problème de macro - calendrier et liste déroulante

Bonjour à tous.

j'ai un fichier dans lequel j'aimerais incorporer quelques macros afin de simplifier la vie de moi et de mes collègues de travail.

c'est un formulaire de recueil d'information pour projet.

j'aimerais 3 choses (toutes indiquées dans le fichier en détail)

1 - un menu déroulant avec possibilité de plusieurs choix dans la même cellule

2 - un calendrier dans une cellule pour choisir une date au lieu de la taper.

3 - une commande qui permettrai de masquer automatiquement certaines ligne de mon fichier en rapport à la donné présente dans une autre cellule.

voici mon fichier

merci à l'avance pour votre aide, car j'avoue être légèrement perdu...

Bonjour,

A tester.

Cdlt.

Merci Jean-Éric

le fichier fonctionne bien pour certaines parties, mais pour d'autres non...

la liste déroulante est parfaite.

le seul problème est que dès que j'utilise l'une des macro, les autres ne fonctionne pas (ex : si la cellule B21 est à 1, il masque les lignes demandées, par contre, dès que je fais un choix dans une autre cellule qui comporte une macro, les lignes masquées par la macro de la cellule B21 sont affichées de nouveau...)

de plus, le calendrier ne se charge pas sur mon ordi...

merci pour ton aide.

Bonjour Jean -Eric

Je profite de ce sujet. En fait je me retrouve avec "Projet ou bibliothéque introuvable ?. quand j'ouvre le fichier que tu as envoyé " et il ne connait pas "Calendar1.Value = Now

Je m'étais rendu compte quand j'étais passé de office 2003 à 2010, il y a quelques temps puis passage très rapidement en 2013. Je ne sais pas pourquoi mais je n'ai plus de calendar dans les controles supplémentaires. Par contre j'ai trouvé le contrôle MonthView. Peut être quelqu'un a t il des éléments sur ce sujet.

Existe t il le moyen de retrouver ce fameux calendar !!!

Cordialement.

Bonjour,

Tu dois télecharger mscal.zip et intaller la bonne version.

http://www.gmayor.com/downloads.htm

Si tu as des difficultés pour installer, reviens vers moi.

(Il se peut que tu sois amené à devoir à modifier les propriétés de l'UAC de Windows).

Cdlt

Merci Jean-Éric pour le contrôleur de calendrier.

pour le reste, je reste toujours avec le même problème que dès que je fais un second choix, les choix fais précédemment, sont retirés. (donc les cellules redeviennes visibles).

merci pour ton aide si précieuse, je n'y serai jamais arrivé!

bonne journée.

Bonjour,

Je ne comprends pas ce que tu veux dire.

Un exemple concret, c'est du domaine du possible?

Cdlt.

Bonjour.

exemple selon le fichier...

de mon côté, lorsque je met la valeur "1" dans la cellule B21, les rangées 28 à 33 sont masquées. par contre, dès que je met la valeur "Non" dans la cellule B35, la ligne 36 se masque, mais les lignes 28 à 33 sont affichées...

Est-ce plus clair?

merci.

Bonsoir,

J'ai tenté de répondre à ForestTR, mais j'ai un souci avec une chose qui me paraissait simple

Le code est en dessous et le fichier dans un post précédent.

L'idée masquer/afficher des lignes en fonction de la valeur des cellules. Mais :

de mon côté, lorsque je met la valeur "1" dans la cellule B21, les rangées 28 à 33 sont masquées. par contre, dès que je met la valeur "Non" dans la cellule B35, la ligne 36 se masque, mais les lignes 28 à 33 sont affichées...

.

En fait le problème est pour toutes les cellules concernées par le code.

J'ai loupé un truc

Merci de votre aide.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ValSaisie As String
Dim p As Long
    '-----------------------------------------------------------------------------------
    If Target.Address = "$B$9" And Target.Count = 1 Then
        Application.EnableEvents = False
        ValSaisie = Target
        Application.Undo
        p = InStr(Target, ValSaisie)
        If p > 0 Then
            Target = Left(Target, p - 1) & Mid(Target, p + Len(ValSaisie) + 1)
            If Right(Target, 1) = "," Then
                Target = Left(Target, Len(Target) - 1)
            End If
        Else
            If Target = "" Then
                Target = ValSaisie
            Else
                Target = Target & "," & ValSaisie
            End If
        End If
        Application.EnableEvents = True
    End If
    '-----------------------------------------------------------------------------------
 If Target.Address = "$B$21" And Target.Value = 1 Then
        Rows("28:33").EntireRow.Hidden = True
    Else
        Rows("28:33").EntireRow.Hidden = False
    End If
    '-----------------------------------------------------------------------------------
    If Target.Address = "$B$35" And Target = "Non" Then
        Rows("36:36").EntireRow.Hidden = True
    Else
        Rows("36:36").EntireRow.Hidden = False
    End If
    '-----------------------------------------------------------------------------------
    If Target.Address = "$B$38" And Target = "Non" Then
        Rows("39:46").EntireRow.Hidden = True
    Else
        Rows("39:46").EntireRow.Hidden = False
    End If
    '-----------------------------------------------------------------------------------
    If Target.Address = "$B$39" And Target = "Non" Then
        Rows("48:56").EntireRow.Hidden = True
    Else
        Rows("48:56").EntireRow.Hidden = False
    End If
    '-----------------------------------------------------------------------------------
    If Target.Address = "$B$58" And Target = "Non" Then
        Rows("59:61").EntireRow.Hidden = True
    Else
        Rows("59:61").EntireRow.Hidden = False
    End If

End Sub

Bonjour,

J'ai modifié la procédure en évitant la procédure Worksheet_Change().

Pour l'exemple, j'ai remplacé les listes de validations (Aire requis et Installation) par 2 boutons à bascule (togglebuttton).

Me dire ce que tu en penses. Si tu es capable de reproduire ces 2 exemples à l'ensemble.

Cdlt.

Salut Jean-Éric.

c'est super le principe des boutons à bascule.

on peu appliquer le principe à la section supervision.

pour la section Excavation interne (cellule B48), j'ai fait une erreur dans le fichier... ce n'est pas avec la cellule B39 qu'elle doit être reliée, mais bien avec la cellule B42 si cette dernière est égale a "responsable 1". désolé de l'erreur...

de plus, Est-ce possible d'ajouter le même type de calendrier de la cellule B14 à la cellule B36?

merci énormément pour ton aide tu est génial!!!!

bonne journée.

Re,

Fais un peu d'effort pour comprendre ce que je fais

GÉNIAL!!!!!!!!!

et oui, Jean-Éric, je vais tacher de comprendre ce que tu as fais, je vais garder ce fichier très précieusement pour référence.

merci encore pour ton aide.

bonne journée.

Rechercher des sujets similaires à "probleme macro calendrier liste deroulante"