Affectation auto des heures de travail

Et bien comme énoncé dans un précédent message il faut masquer les lignes lorsque les cellules des lignes 5 a 20 ,26 a 41,47 a 61,68 a 82 et 89 a 104 ,pour les colonnes A et D ,lorsque celles ci sont vides ou contiennent zéro .
J’espère avoir été suffisamment explicite.
Merci .
Franck .

Re,
Non, car c’est le cas dans mon dernier fichier transmis
Sinon, masque les lignes et envoi le fichier

Je te transmet le fichier avec les lignes a masquer et l’explicatif.
J’espere que cela sera clair .
Franck.
FFO m’avait proposer un tableau (identique a celui ci dans les dimensions ) ou les lignes etaient masquees comme je le souhaite ,voici les lignes de la macro :
Sheets(« PLANNING VIERGE »).Cells.EntireRow.Hidden = False
For k = 1 To UBound(Split(listejour, « / »)) - 1
premièreligne = Split(lignedeb, « / »)(k)
dernièreligne = Split(lignefin, « / »)(k)
For l = premièreligne To dernièreligne
If IsError(Sheets(« PLANNING VIERGE »).Range(« D » & l)) = False Then
If Sheets(« PLANNING VIERGE »).Range(« D » & l).Value = 0 Then
Sheets(« PLANNING VIERGE »).Range(« A » & l).EntireRow.Hidden = True
End If
End If
If Sheets(« PLANNING VIERGE »).Range(« A » & l) = «  » Then
Sheets(« PLANNING VIERGE »).Range(« A » & l, « A » & dernièreligne).EntireRow.Hidden = True
Exit For
Peut-etre a adapter a celui ci ?
Heure epicerie en auto (1)(3).xlsm (58,5 Ko)

Bonjour,
A tester
Heure epicerie en auto (1)(3).xlsm (57,4 Ko)

Merci Mimimathy,
Ta dernière proposition est la bonne ,merci pour ta patience et merci de ne pas avoir laché l’affaire :grin:
Je vais être encore un peu gourmand ,j’ai fait une petite modification sur ta derniere proposition ,que j’ai renommé en « test affectation d’heure » et y en ajoutant une ligne pour chaque jours (ligne « check ») mais du coup ta macro s’arrête ici :


Je pense que le fait d’ajouter des lignes pose problème ,peux tu me dire ce qui ne vas pas ?
Merci à toi .
Franck .
Test affectation d’heure .xlsm (120,4 Ko)

Re
INVENTAIRE OU COMMANDE OU AJUSTEMENT
et cette ligne ne rentre pas dans le calcul ?

Si elle permet le masquage des lignes qui sont vides ou égales à zéro (comme dans ta précédente proposition) mais elle bloque le déroulé de la deuxième partie de macro .

Ce n’est pas ce que je veut dire
Est ce que le fait de mettre une donnée dans une cellule de cette ligne doit modifier l’affectation des heures
Vu la formule mis en place, elle somme les 3 lignes, donc pourrait être supérieur à 8 h00

Essaie quand même d’avoir des explications claires, dans les demandes, il a fallu quand même 5 à 6 messages pour me dire qu’il pouvait avoir des 0 entre les cellules de la colonne D
Je ne suis pas derrière ton PC
Et réfléchi quand à la nouvelle proposition à faire pour l’amélioration de ton programme, au lieu de refaire du pas à pas, c’est :rage: et plus que :rage:

Le précédent 2 lignes par jours PAUSE & CONTROL
Celui-ci 3 lignes par jours Pause+Nettoyage - Retours + Inventaire …
Et voilà, débrouille toi, pense à ce que j’ai dans ma tête :flushed:

Oui je comprends ton agacement,les demandes me paraissent claires mais comme tu le dis,a juste titre, tu n’es pas devant mon PC ,ni dans ma tête.Je vais pas a pas car au fur et à mesure de l’avancement du tableau j’ai de nouvelles idées qui me font modifier celui ci et par conséquent faire évoluer les macro et donc revenir avec de nouvelles requêtes ,j’en suis désolé.
Pour en revenir à ce tableau ,le résultat à obtenir et donc la distribution des heures et l’ajout automatique des heures en lignes"pause",« contrôle » et " check’ , exactement comme dans mon tableau précédent :le total des heures par colonne ne dépasse pas 08:00 et par ligne la somme en colonne"Q".puis dans un deuxième temps le masquage des lignes lorsque les cellules sont vides en colonne « A » et égales à zéro en colonne « D » pour les lignes 5:19;27:41;49:63;71:85;93:106.
Espérant avoir été un peu plus clair ,je te remercie une nouvelle pour ton aide et ta bienveillance.(patience ??)
Franck .

Re,

Dans le tableau précédent 2 lignes par jour 1.25 pour pause et 0.5 pour Control
Et là, je décide moi même pour les 3 lignes :flushed:

Non mimimathy ,
si tu reprends la macro dans le tableau ,j’ai deja modifié cette partie :
Dim i%, j%, Dl%, Dc%, Pause As Double, Control As Double, Check As Double, Reste As Double
Dim Ws As Worksheet, PremLig%, DerLig%, Lig%
Set Ws = Sheets(« Planning »)
Dc = Ws.Cells(3, Columns.Count).End(xlToLeft).Column - 2
Pause = 1.25: Control = 1: Check = 0.5
PremLig = 5: DerLig = 20

For Lig = PremLig To 93 Step 22

Dl = Ws.Range(« A » & DerLig).End(xlUp).Row
Ws.Range(Ws.Cells(PremLig, 6), Ws.Cells(DerLig + 1, Dc)) = «  »
For i = PremLig To Dl
If Ws.Cells(i, 5) <> «  » Then
For j = 6 To Dc
If Ws.Cells(DerLig, j) = «  » Or Ws.Cells(DerLig, j) <= 8 Then
Ws.Cells(DerLig, j) = Pause: Ws.Cells(DerLig + 1, j) = Control: Ws.Cells(DerLig + 2, j) = Check
Reste = Ws.Cells(i, « Q »)
.je pense qu’il faut modifier la macro existente .

je regarde-----------------------------------------

MERCI :+1: :+1: :+1: :+1:
Franck.

Re,
Teste
Test affectation d’heure (2).xlsm (116,5 Ko)

Et en attente de la nouvelle « Idée lumineuse » qui surgit soudainement d’un cerveau :joy:

Et pour ta macro de rafraichissement, place celle-là

Sub MacroREFRESH()
    Range("A1:Q111").EntireRow.Hidden = False
    Range("F4:M22,F26:M43,F48:M66,F70:M88,F92:M110") = ""
    Range("A5:A19,A27:A41,A49:A63,A71:A85,A93:A107") = ""
    Range("C5:C19,C27:C41,C49:C63,C71:C85,C93:C107") = ""
    Range("B1,E1:F1") = ""
End Sub

Merci !!
Mais j’ai encore un petit soucis lors du masquage …
Je te laisse lire le commentaire dans le tableau .
Franck .
Test affectation d’heure (2)(1).xlsm (124,9 Ko)

Re,
A tester
Test affectation d’heure .xlsm (115,1 Ko)

Merci pour ta reponse mais lorsque la macro s’execute elle masque egalement les lignes que je souhaite conserver affichées :


Ici après execution de la macro :

Franck .

Bonjour
Test affectation d’heure .xlsm (119,5 Ko)

Bonjour,
La macro masque correctement les lignes comme souhaité,les heures sont distribuées comme je le souhaitais,merci pour tout le travail et la patience dont tu as fait preuve .peux tu regarder pourquoi dans mon fichier la macro « auto » qui appelle la macro traitement 2 et celle que tu as produite ,fonctionne mal sur la macro planning ?.
Encore un grand merci .
Franck .