Un petit coup de mains please

Bonsoir les geek,

Je l'avoue, pour gagner du temps, l'autodidacte pragmatique que je suis n'en n'a plus beaucoup pour mettre en place ce fichier émanant de l'excellence opérationnelle pour suivi d'actions.

Il est déjà pas mal avancé mais aimerai si possible intégrer un "Calendar" sur toute la colonne "i" à compter de la ligne 9 bien sûr, mais aussi intégrer un "bouton" pour ajouter une action dans la colonne "A", à compter de la ligne 10 également (la première cellule est manuel !)

En cliquant sur sur dernier, la macro devrait se positionner sur la première cellule vide de la colonne "A" et incrémenter un numéro d'action suivant ==> en l’occurrence 2019/03

Il faut intégrer le fait qu'à la validation des cellules en colonne "A", une macro déplace de 3 cellules à droite en ayant auparavant renseignée deux trois bricoles

Pour ceux que cela intéresse, j'ai rajouté une petite option de présentation au vidéo projecteur en haut à droite ; cruellement visuel lorsque vous parlez d'un cellule, l'assemblée sait laquelle

Je prends bien sûr d'autres idées pour le rendre plus humain

Possible for you please to help me

PS : Fichier joint

Bonjour dasaquit

Je te propose déjà une avancé dans ta demande , un calendar que j'avais sous la main, et que j'ai placé dans la colonne I comme demandé il s'ouvre par double clic dans la colonne I

Slts

Bonjour,

Je te retourne ton classeur avec quelques modifs !

J'ai mis un calendrier Microsoft (MSCAL.Calendar.7) mais je ne sais pas si il est installé sur ta machine, si il n'y est pas, tu auras un message et dans ce cas, tu pourras utiliser celui de boss_68 !

Le calendrier sera visible au double-clic dans la colonne I.

J'ai aussi ajouté une ListBox pour faire le choix de l'action en colonne K (Soldé, Annulé, etc...), elle ne sera visible qu'à la sélection d'une cellule dans cette colonne.

Et pour finir, j'ai remanié le code de la procédure événementielle "Worksheet_Change()" !

Ton classeur :

Bonjour le fil,

Bonjour Theze

Attention !

Le contrôle MSCAL.Calendar est livré avec Access et toue le monde ne l'a pas

Bonjour Bruno

Attention !

Le contrôle MSCAL.Calendar est livré avec Access et toue le monde ne l'a pas

C'est pour cette raison que je l'ai précisé car je sais que pas tout le mode le possède

Comme boss_68 en propose 1 maison, il pourra l'utiliser contre le mien !

Bonjour à tous,

Un grand merci pour votre aide c'est super, y compris Bruno

Désolé de la réponse tardive mais invités surprises hier soir

J'ai retenu ce matin la version Boss_68 car sur la version de THEZE plus aucune macro ne fonctionnaient. Soit dit en passant, beau travail Boss_68 ton calandar est hyper complet, et intuitif.

Sinon, pour répondre aux interrogations je possède la version 2016 Pro Plus donc la totale, et donc Access.

Si quelqu'un a une petite idée sur ma deuxième demande je suis ultra preneur :

En cliquant sur sur dernier, la macro devrait se positionner sur la première cellule vide de la colonne "A" et incrémenter un numéro d'action suivant ==> en l’occurrence 2019/03

Merci encore

Bien à vous

David

...car sur la version de THEZE plus aucune macro ne fonctionnaient...

Je suis plutôt surpris car tous les codes fonctionnent parfaitement sur le classeur posté (juste le remplissage de la ListBox qu'il faut faire sur Open du classeur et non sur activate de la feuille) mais si le classeur original est différent de celui posté comme c'est souvent le cas ici, c'est sûr !!!

En cliquant sur sur dernier, la macro devrait se positionner sur la première cellule vide de la colonne "A" et incrémenter un numéro d'action suivant ==> en l’occurrence 2019/03

Sur clic droit dans la colonne, le numéro s'incrémente avec ce code :

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

    Dim Lig As Long
    Dim I As Long

    If Target.Column <> 1 Then Exit Sub
    If Target.Row < 10 Then Exit Sub

    Lig = Cells(Rows.Count, 1).End(xlUp).Row

    For I = 9 To Lig

        If Cells(I, 1).Value = "" Then

            Cells(I - 1, 1).AutoFill Range(Cells(I - 1, 1), Cells(I, 1))
            Exit For

        End If

    Next I

    Cancel = True

End Sub

Sur un double clic en colonne I le calendrier apparaît :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    If Target.Column <> 9 Then Exit Sub
    If Target.Row < 9 Then Exit Sub

    With Calendar1

        .Top = Target.Top
        .Left = Target.Left - .Width
        .Visible = True

    End With

    Cancel = True

End Sub

Et sur "Worksheet_Change()" en colonne K et A :

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then Exit Sub

    With Target

        Application.EnableEvents = False

        If Not Application.Intersect(Target, Range("K9:K1000")) Is Nothing Then

            Select Case .Value

                Case "Soldé"

                    MsgBox "La date de clôture ci-contre va être renseignée automatiquement, mais peut être modifiée si besoin.", , Space(50) & "IMPORTANT"
                    .Offset(0, 1) = Now
                    Range(.Offset(0, -10), .Offset(0, 2)).Interior.Color = RGB(255, 255, 192)
                    ActiveWindow.ScrollColumn = 1
                    .Offset(0, 1).Select

                Case "Annulé"

                    MsgBox "La date d'annulation ci-contre va être renseignée automatiquement, mais peut être modifiée si besoin.", , Space(50) & "IMPORTANT"
                    .Offset(0, 1) = Now
                    Range(.Offset(0, -10), .Offset(0, 2)).Interior.Color = RGB(255, 255, 192)
                    ActiveWindow.ScrollColumn = 1
                    .Offset(0, 1).Select

                Case "En cours"

                    .Offset(0, 1) = ""
                    Range(.Offset(0, -10), .Offset(0, 2)).Interior.Color = xlNone
                    ActiveWindow.ScrollColumn = 1

                Case "A traiter"

                    .Offset(0, 1) = ""
                    Range(.Offset(0, -10), .Offset(0, 2)).Interior.Color = xlNone
                    ActiveWindow.ScrollColumn = 1

                Case "En attente"

                    .Offset(0, 1) = ""
                    Range(.Offset(0, -10), .Offset(0, 2)).Interior.Color = xlNone
                    ActiveWindow.ScrollColumn = 1

            End Select

        End If

        If Not Application.Intersect(Target, Range("A9:A230")) Is Nothing Then

            If Value <> "" Then

                .Offset(0, 1) = Now
                .Offset(0, 2) = Now
                .Offset(0, 10) = "En cours"
                Cells(.Row + 0, 5).Select

            End If

        End If

    End With

    ListBox1.Visible = False
    Application.EnableEvents = True

End Sub

Super These merci beaucoup,

Je te confirme bien que le fichier V2 téléchargé aucune macro ne fonctionne chez moi, et ce sans ne rien toucher ! Bizarre !

Par contre j'ai copié/collé ton bout de code pour l'incrémentation via Click droit et tout roule maintenant.

Encore un grand merci à toi, à tous, et super week end malgré ce temps bof bof

A très vite

Rechercher des sujets similaires à "petit coup mains"