XL 2019 Solution sur somme de menu déroulant

Snakearth

XLDnaute Nouveau
Bonjour,

Je suis actuellement en cours sur un cas de gestion de personnel, j'ai fait un menu déroulant dynamique qui adapte en fonction de la semaine ; mon volume d'activité, ma charge de travail, et mon nombre de personnel en besoin, et je souhaiterai copier ses résultats dans un autre tableau récapitulatif, sans copier uniquement la valeur, je souhaiterai faire en sorte que le résultat sois dynamique uniquement en fonction de ma charge de travail plutôt que par rapport a ma semaine.
est ce que cela est possible ?
En vous remerciant.

Snakearth
 
Solution
Re,
Voilà ce que cela pourrait donner en VBA. Avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A1:J14")) Is Nothing Then
        Dim S%, C%
        Application.ScreenUpdating = False
        SauveS = [G15]              ' on sauvegarde la semaine en cours
        For S = 1 To 4              ' pour les 4 semaines
            [G15] = "S" & S         ' on met le N° semaine en G15
            Calculate               ' on remet à jour les données
            For C = 13 To 17        ' pour chaque colonne du tableau
                Cells(7 + S, C) = Cells(49, C - 7) + Cells(57, C - 7) ' on copie les valeurs
            Next C
        Next S
        [G15] = SauveS...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Voilà ce que cela pourrait donner en VBA. Avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A1:J14")) Is Nothing Then
        Dim S%, C%
        Application.ScreenUpdating = False
        SauveS = [G15]              ' on sauvegarde la semaine en cours
        For S = 1 To 4              ' pour les 4 semaines
            [G15] = "S" & S         ' on met le N° semaine en G15
            Calculate               ' on remet à jour les données
            For C = 13 To 17        ' pour chaque colonne du tableau
                Cells(7 + S, C) = Cells(49, C - 7) + Cells(57, C - 7) ' on copie les valeurs
            Next C
        Next S
        [G15] = SauveS              ' on restitue la semaine initiale
    End If
End Sub
Si vous n'êtes pas habitué au VBA il vous faut accepter les macros à l'ouverture du fichier.
Une modification de valeur dans la zone A1:J14 provoque la mise à jour du tableau
 

Pièces jointes

  • Test xl.xlsm
    22.3 KB · Affichages: 9

Discussions similaires

Statistiques des forums

Discussions
312 248
Messages
2 086 594
Membres
103 250
dernier inscrit
keks974