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

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

Snakearth

XLDnaute Nouveau
Merci, je vais de ce pas tester cela.

Edit : je pense que c'est la bonne solution, mais je ne suis pas encore familiarisé avec le VBA.

Merci d'avoir pris le temps de me répondre
 
Dernière édition:

Discussions similaires

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