Planning automatique

gui59300

XLDnaute Occasionnel
Bonjour

Je souhaiterais faire un planning dans Excel qui se mette à jour automatiquement en fonction de la durée de chaque tache.
Je sais que l’on peut faire cette visualisation via un graphique mais, le fichier original fait 600 lignes, le graphique serait illisible.
En pièce joint vous trouverez les données, quelqu’un aurait il une piste.

Merci d’avance
Gui59300
 

Pièces jointes

  • Test.xlsx
    12.1 KB · Affichages: 53
  • Test.xlsx
    12.1 KB · Affichages: 67
  • Test.xlsx
    12.1 KB · Affichages: 61

JBARBE

XLDnaute Barbatruc
Re : Planning automatique

Bonsoir à tous,

Peut-être ceci en sachant que :

La mise à jour se fait lors de la saisie dans la colonne B

ensuite saisir dans les autres colonnes !

bonne soirée
 

Pièces jointes

  • Planning.xlsm
    24.4 KB · Affichages: 47
  • Planning.xlsm
    24.4 KB · Affichages: 62
  • Planning.xlsm
    24.4 KB · Affichages: 66
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : Planning automatique

Bonsour®
Je sais que l’on peut faire cette visualisation via un graphique mais, le fichier original fait 600 lignes, le graphique serait illisible.
:rolleyes:
pourquoi pas une visualisation dynamiques par X actions (10 dans l'exemple)
Capture.jpg
 

Pièces jointes

  • Capture.jpg
    Capture.jpg
    31.5 KB · Affichages: 48
  • Capture.jpg
    Capture.jpg
    31.5 KB · Affichages: 35
  • planning-automatique-test.xlsx
    22.3 KB · Affichages: 55

gui59300

XLDnaute Occasionnel
Re : Planning automatique

Bonjour

Un grand merci à vous trois pour les réponses.
Les réponses 1 et 2 correspondent plus à ce que je souhaite, par contre la 3ème je pourrais me servir du principe pour autre chose.

camarchepas et JBARBE pouvez m’expliquer le code qu’il y a derrière afin que je puisse l’adapter à mon classeur finale.

Merci
gui59300
 

camarchepas

XLDnaute Barbatruc
Re : Planning automatique

Bonjour ,

J'ai juste ajouté une fonction pour tenir compte du vraie nombre de lignes

Petit conseil :

Exécute s la macro pas à pas grace à F8 pour avancer d'un pas, mets le curseur sur les variables pour voir leur valeur et / ou affiche l'écran des variables locales pour voir évoluer .

Réduits un peu l'éditeur VBA afin de voir la feuille et comment tout cela agit ,

enfin hésites pas à utiliser F1 sur un mot clé pour avoir une définition voir un exemple de son role.

et continue à fréquenter XLD, source intarrissable de savoir

cordialement ,

Bruno

Code:
Option Explicit ' Essentiel : Oblige à déclarer les variables

Sub coche()
'Déclaration des variables et objets
 Dim Tourne As Long, Boucle As Long, Journée As Long
 Dim Nbjour As Long, Decale As Long, Couleur As Long
 Dim Derligne As Long

'Calcul de la derniére ligne utilisée , on considére que la colonne A n'est jamais vide
 Derligne = Range("A" & Rows.Count).End(xlUp).Row
'Empillage de boucles
 'Pour la premiere à la derniere ligne
 For Tourne = 1 To Derligne
  'Decale sera utiliser pour compter les tours et ce déplacer dans les colonnes
   Decale = 0
   'Pour le nombre maxi de taches ici 5
   For Boucle = 1 To 5
    'Charge le nombre de jours dans NbJours
    Nbjour = Range("A1").Offset(Tourne, Boucle).Value
    'Récupére la couleur dans la ligne d'entête des taches
    Couleur = Range("A1").Offset(0, Boucle).Interior.Color
    'Pour le nombre de jours de la tache
    For Journée = 1 To Nbjour
     'Mise en couleur du fond de la cellule
     Range("H1").Offset(Tourne, Decale).Interior.Color = Couleur
     'Récupére le numéro de tache
     Range("H1").Offset(Tourne, Decale) = Boucle
     ' Décalage de 1 colonne pour le tour suivant
     Decale = Decale + 1
    ' si pas derniere journée alors reprend aprés le for Journée en appliquant l'incrément de la variable journée
    Next Journée
 'Si pas dernière tache alors reprend aprés le for Boucle en appliquant l'incrément de la variable Boucle
 Next Boucle
'si pas derninère ligne alors reprend derriere le for tourne en appliquant l'incrément de la variable tourne
Next Tourne
End Sub
 

JBARBE

XLDnaute Barbatruc
Re : Planning automatique

Bonjour à tous ,

Peut-être cela sera compréhensible ! cette macro doit-être dans la feuille concernée ( ici feuille 1)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then ' si saisie colonne B
For r = 1 To 16 ' boucle de 1 à 16
Target.Offset(0, r) = "" ' effacement de la ligne correspondant à la saisie( colonne B) de la colonne C à R
Next r ' fin de la boucle
X = Target.Value ' valeur de la saisie en colonne B
For i = 6 To 6 + X - 1 ' boucle de la colonne H (décalage de 6 colonnes par rapport à B)+ la valeur X moins 1
Target.Offset(0, i) = 1 'décalage de H à la valeur X de la valeur 1
Next i ' fin de la boucle

ElseIf Target.Column = 3 Then ' sinon si saisie colonne C
X = Target.Value ' valeur de la saisie en colonne C
For k = 5 To 15 ' boucle de la colonne H à R
If Target.Offset(0, k) = "" Then ' si le colonne décalée de 5 à 15 est vide alors
For j = k To k + X - 1 ' boucle de 5 + X - 1
Target.Offset(0, j) = 2 'décalage de H à la valeur X de la valeur 2
Next j 'fin de la boucle j
Exit For ' sortie de la boucle
Else ' sinon
Target.Offset(0, k + 1).Select ' décalage d'une colonne
End If ' fin si
Next k ' fin de la boucle k

' même principe pour colonne D E F

ElseIf Target.Column = 4 Then 'colonne D
X = Target.Value
For l = 4 To 14
If Target.Offset(0, l) = "" Then
For m = l To l + X - 1
Target.Offset(0, m) = 3
Next m
Exit For
Else
Target.Offset(0, l + 1).Select
End If
Next l

ElseIf Target.Column = 5 Then ' colonne E
X = Target.Value
For n = 3 To 13
If Target.Offset(0, n) = "" Then
For o = n To n + X - 1
Target.Offset(0, o) = 4
Next o
Exit For
Else
Target.Offset(0, n + 1).Select
End If
Next n

ElseIf Target.Column = 6 Then ' colonne F
X = Target.Value
For p = 2 To 12
If Target.Offset(0, p) = "" Then
For q = p To p + X - 1
Target.Offset(0, q) = 5
Next q
Exit For
Else
Target.Offset(0, p + 1).Select
End If
Next p

End If
End Sub

bonne soirée
 

Pièces jointes

  • Planning.xlsm
    25 KB · Affichages: 49
  • Planning.xlsm
    25 KB · Affichages: 52
  • Planning.xlsm
    25 KB · Affichages: 55

Discussions similaires

Statistiques des forums

Discussions
312 299
Messages
2 086 996
Membres
103 423
dernier inscrit
Guyom GIL