Planning Chauffeurs De Pierre P

Salut à vous,

C'est vrai que Pierre P56 alias Tatiak en non pas Titiak LouReeD nous a appris deux trois trucsau moins

J'ai une autre approche pour les commentaires avec des pictos

Etant également un professionnel du handicap, je vous partage le fichier.

Belle journée à vous

re,

j'ai des questions concernant l'utilité de "Worksheet_SelectionChange" dans la feuille "Global". Quand on change de cellule avec les flèches ou en sélectant une cellule, cette macro est parcouru et cela dure 150-200 msec, juste pour supprimer toutes ces formes et les replacer. Si je la renomme (ajouter un x =>>> xWorksheet_SelectionChange par exemple), la feuille, perd-elle quelque part une fonction ?

Et pour imprimer cette feuille, une fonctionnalité qui n'imprime que les lignes avec une forme dedans ?

Bonjour,

Merci pour la correction leakim ! Par contre j'ai testé votre proposition et j'arrive à une erreur...

BsAlv, le sélection change sur le global permet de modifier "les individuels" sans devoir aller sur "individuel" et faire la modif. Comme les ajouts de périodes se font par la sélection d'une plage de cellule, pour permettre la mise à jour il faut bien lancer la suppression puis la reconstruction de la base de donnée, non ?

Si vous partez du fait que seule la feuille individuelle est utilisée pour faire les changements alors oui vous pouvez mettre en commentaire le SelectionChange de la feuille global à mon sens.

@ bientôt

LouReeD

@LouReeD,

okay, si c'est prévu comme çà ... . On n'a qu'à se déplacer avec la souris et ne pas avec les flèches pour éviter mon problème de lenteur ... .

bon soirée.

Salut LooReeD, une erreur ! ah Ok. C'est dans ma signature

Redis-moi à quel moment.

Que je regarde pour corriger.

Leakim,

juste en voulant ajouter une période par la sélection des colonnes voulues en face d'un nom, erreur d'index dans un tableau, la variable vaut 0, je ne me suis pas penché sur le "truc", j'ai testé deux ou trois fois...

image

Sélection de 2:45 à 4:45.

@ bientôt

LouReeD

Merci pour ce retour.

Voici la version débuggée

enfin peut-être en subsiste d'autres, mais pas encore découvert

re,

à mon avis, il faut séparer ce texte en 2 parties :

à gauche : ligne1 = activité et ligne2 = client

au milieu : ligne 1 = ligne1 du commentaire et ligne2 = ligne 2 du commentaire

mais je ne vois pas directement où cela se fait ...

Cela se trouve dans Ajout Ajout_Histo qu'on pourrait modifier ainsi (ce n'est pas ce qu'il y a de mieux mais cela devrait fonctionner) :

Sub Ajout_Histo(Tg As Variant, lg As Integer, idx As Integer)
Dim L As Single, T As Single, W As Single, H As Single, lrg As Single
Dim txt As String, clr As Long, md As Single, Hr0 As Single
Dim Hdeb As Double, Hfin As Double, Absc As Boolean

    With ActiveSheet
        lrg = .Columns(28).Width
        Hr0 = .Range("D7").Value
        Hdeb = Tg(1, 4) - Int(Tg(1, 4))
        Hfin = Tg(1, 5) - Int(Tg(1, 5))
        If Hfin = 0 Then Hfin = 1

        T = .Rows(lg).Top + 2
        H = .Rows(lg).Height - 4
        L = .Columns(4).Left + lrg / 2 + (Hdeb - Hr0) * 24 * 4 * lrg
        W = (Hfin - Hdeb) * 24 * 4 * lrg

        If Not IsNull(Tg(1, 6)) Then txt = Tg(1, 6) & IIf(Tg(1, 7) <> "", " - " & Tg(1, 7), "") & IIf(Tg(1, 8) <> "", Chr(10), "")
        If Not IsNull(Tg(1, 8)) Then txt = IIf(txt = "", Tg(1, 8), txt & Tg(1, 8))

En gros si la première valeur est différente de rien, on vérifie s'il y a une deuxième donnée à afficher alors on incruste un retour à la ligne, sinon non.
Mais ces deux lignes méritent d'être optimisées afin de prendre en compte les différents cas...

@ bientôt

LouReeD

Salut,

Pour prolongé la proposition de LouReeD

Dans HISTO là on trouve les paramètres pour la mise en forme "des formes"

Sub Histo(Nom As Variant, L As Single, T As Single, W As Single, H As Single, txt As Variant, _
          lg As Integer, Cmt As Boolean, Optional cl As Long = 0)
Dim Sh As Object, lig As Long, i As Long, couleur As Double

    With ActiveSheet
        couleur = .Range("A" & lg).Interior.Color
        Set Sh = .Shapes.AddShape(msoShapeRoundedRectangle, L, T, W, H)
        With Sh
            .Fill.ForeColor.RGB = IIf(cl = 0, couleur, cl)
            .Line.ForeColor.RGB = IIf(Cmt, &HFF&, RGB(160, 160, 160))
            .Fill.Transparency = 0.3
            .Name = "_" & Nom
            .TextFrame2.HorizontalAnchor = msoAnchorCenter
            .TextFrame2.MarginTop = 0.1
            .TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignCenter
            .TextFrame2.AutoSize = msoAutoSizeNone
            .TextFrame2.WordWrap = msoTrue
            With .TextFrame2.TextRange.Characters
                .Text = txt
                .Font.Size = 8
                .Font.Fill.ForeColor.RGB = &H0
            End With
            .OnAction = "Fiche"
        End With
    End With
End Sub

J'ai ajouté autosizeNon pour que le texte dépasse la forme, ou wordwrap pour un retour à la ligne automatique.

@+

re,

ce que moi je fais normallement, c'est créer quelque part dans un coin perdu une forme "Dummy" et je fais tout les propriétés nécessaires communes.

Puis je crée autant de duplicates de ce "dummy" et je n'ai qu'à modifier quelque paramètres (left, top, width, height, color, text).

Je pense que cette méthode est plus performante et convivial. Mais je crains que toutes les macros utilisées ici servaient à un autre but (je pense un calendrier) complètement différent qu'ici et voilà la raison que tout est si complique ici.

Bonjour,

Je pense surtout qu'il y a autant de "techniques " de programmation que de programmeur... et quand on a l'habitude d'une chose...

Pour ma part j'ai découvert le duplicate que depuis peu

Et sur les forums quand je cherchais comment copier un shape sans le sélectionner ce n'était pas ce qui sortait. Cela date de quand ?

Et oui il faut aussi remettre l'application dans son contexte d'époque. Perso il est rare que je les retouches... et vous ?

@ bientôt

LouReeD

oei, ce n'est pas comme çà que j'utilise une bibliotheque avec de anciennes solutions. Dans l'époque, j'avais ce "Persnlk.xls" avec tout çà, mais je ne me rappèles plus la raison pourquoi je ne le fais plus. Le changement de "xls" vers "xlsm" ?

Donc, bonne question, mauvaise réponse de ma part, je rechercherai ce fichier et je le mets à jour, merci pour l'idée. .

Bonsoir,

J'avoue BsAlv ne pas toujours vous comprendre ! Mais là c'est pire que d'habitude ! Le translateur Google est à mettre à jour !

De mon côté j'ai de "vielles" applications (jeux) qu'il faudrait que je retouche car depuis leur mise en ligne, sans vouloir me jeter des fleurs, je me suis comme même améliorer au niveau VBA !

Mais bon entre l'envie de bien faire en les reprenant, l'envie de finir celles qui sont en cours... Et bien je manque de temps et de patience !

@ bientôt

LouReeD

Bonjour

Désolé pour l attente de l essai mais j ai été tres pris.

C est beaucoup mieux.

Il faudrait que les infos de la fenetre "Client" apparaissent aussi tout comme l est "Commentaire". La feuille individuelle que nous imprimons est la feuille journaliere que le chauffeur aura pour sa journée.

Pour l imprimer, je fais une capture d écran sinon c est tout tout petit. LOL.

Merci pour votre grande implication

Bonjour,

pour l'impression il vous faut peut-être régler la zone d'impression et les paramètres d'impression de votre imprimante.

Pour visualiser la zone d'impression, ruban menu affichage et sur la gauche sélectionnez le bouton "afficher les saut de page".
Ce qui est en gris ne sera pas imprimé, ce qui se trouve à l'intérieur des lignes bleues sera imprimé. Ces lignes vous pouvez les cliquer gauche et glisser pour les déplacer afin d'encadrer la zone que vous voulez imprimer.

Ensuite les paramètres d'impression sont accessibles sur la page d'impression, vous pouvez par commencer à réduire les marges à 0, vérifier que l'option ajuster sur 1 page en largeur et 1 page en hauteur soit bien cochée, etc...

Pour le reste normalement le code activité, le client et le commentaire doivent être affichés sur le shape, si ce n'est pas le cas vérifiez en agrandissant le shape en hauteur. Si c'est un manque de place alors il est possible d'élargir les lignes, ainsi que les shapes afin que tout soit "propre" et visible.

@ bientôt

LouReeD

re,

avc un peu de bricolage .... . C'est prometteur ?

C'est ce que je dis, vu la place autant agrandir en hauteur les cellules...

@ bientôt

LouReeD

re,

les 2 "commentaires" ne se trouvent plus dans la forme, mais dans le "topleftcell", parce que leur manipulation est assez difficile vue que leurs longueurs peuvent varier.

Un grand grand merci àvous tous. Vous êtes tout simplement ..... géniaux.

encore merci

Rechercher des sujets similaires à "planning chauffeurs pierre"