modif pour un calendrier

yvon07

XLDnaute Occasionnel
bonsoir tous le monde

j'ai realiser un calendrier servant a gerer des jours de congé.
pour calculer les jour travaillés je met un "1",comment en debut d'année,en effacant tous les resultats ,je peu avoir un "1" dans toutes les cellules sauf les week end et jour ferié,tout en conservant la possibilité de ma liste deroulante.
en esperant mettre suffisament comprendre.
je ne peu mettre le fichier car meme zipper il fait 111k
peu vous le faire passer par mail

merci d'avance a tous
 

jeanpierre

Nous a quitté
Repose en paix
Re : modif pour un calendrier

Bonsoir yvon07, kiki29,

Impossible d'ouvrir ton fichier, il m'est dit "Protéger par une mot de passe avec un méthose non disponible dans ce pays" ????

Je suis sous Excel 2000... tu dois être sous 2003 mais cela ne justifie en rien la chose car je communique souvent avec des fichiers 2003 et sans problème... Comprends pas...

Bonne soirée.

Jean-Pierre
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : modif pour un calendrier

Bonjour à tous,

remplacer le code existant par:
Code:
Sub efface()
'
' efface Macro
'
'
    Range( _
        "BJ14,E4:E34,J4:J34,O4:O34,T4:T34,Y4:Y34,AD4:AD35,AI4:AI34,AN4:AN34,AS4:AS34,AX4:AX34,BC4:BC34,BH4:BH34" _
        ).Select
    Selection.ClearContents
Range("BD1").Select
For i = 5 To 60 Step 5
For j = 4 To 34
    If Cells(j, i - 2).Value = 6 Or Cells(j, i - 2).Value = 7 Then
    Cells(j, i).Value = 1
    End If
Next j
Next i
 
End Sub

les jours fériés ne sont pas pris en compte

à+
Philippe
 

BBdoc

XLDnaute Nouveau
Re : modif pour un calendrier

c'est bizarre ta réponse, car cela ne met que des 1 pour les samedis et les dimanches.


Sub efface()
'
' efface Macro
'
'
Range( _
"BJ14,E4:E34,J4:J34,O4:O34,T4:T34,Y4:Y34,AD4:AD35,AI4:AI34,AN4:AN34,AS4:AS34,AX4:AX34,BC4:BC34,BH4:BH34" _
).Select
Selection.ClearContents
Range("BD1").Select
For i = 5 To 60 Step 5
For j = 4 To 34
If Cells(j, i - 2).Value = 1 Or Cells(j, i - 2).Value = 2 Or Cells(j, i - 2).Value = 3 Or Cells(j, i - 2).Value = 4 Or Cells(j, i - 2).Value = 5 Then
Cells(j, i).Value = 1
End If
Next j
Next i

End Sub

là, ça marchera mieux
 

Mytå

XLDnaute Occasionnel
Re : modif pour un calendrier

Salut le forum

Pas besoin d'effacer les cellules au début de la macro
Code:
Sub efface()
Dim i As Byte
Dim j As Byte

Application.ScreenUpdating = False

For i = 5 To 60 Step 5
For j = 4 To 34
    If Not (Cells(j, i - 2).Value = 6 Or Cells(j, i - 2).Value = 7) _
        And Cells(j, i).Interior.ColorIndex = xlNone Then
            Cells(j, i).Value = 1
    Else
            Cells(j, i).Value = ""
    End If
Next j
Next i
 
Application.ScreenUpdating = True

End Sub
Mytå
 

Mytå

XLDnaute Occasionnel
Re : modif pour un calendrier

Re le forum

Une autre approche
Code:
Sub efface()
Dim i As Byte
Dim j As Byte

Application.ScreenUpdating = False

For i = 5 To 60 Step 5
For j = 4 To 34

With Cells(j, i)
    If .Offset(0, -2) < 6 And .Interior.ColorIndex = xlNone Then
        .Value = 1
    Else
        .Value = ""
    End If
End With

Next j
Next i
 
Application.ScreenUpdating = True

End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 587
Messages
2 090 009
Membres
104 344
dernier inscrit
nesrine