Yıllık izin hk.

nongeyikm

Altın Üye
Katılım
7 Kasım 2005
Mesajlar
495
Excel Vers. ve Dili
Office 365 TR-64
Altın Üyelik Bitiş Tarihi
15-04-2025
Merhaba,

Merhaba arkadaşlar,

Ekli izin takip tablosu Halit3 üstadımız tarafından https://www.excel.web.tr/threads/yillik-izin-hk.86560/ hazırlanmıştı. İzinbul makrosunda hatalı sonuç ile karşılaşmaktayım. izin haketme kriterlerine göre BD6 hücresindeki değerin de 14 olması gerekiyor. Makroya göz atabilirmisiniz.

Saygılarımla,
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
çalışılan süre 1835

bu da 5 yıldan fazla yapıyor dolayısıyla kod ikinci kategoride değerlendiriyor
 

nongeyikm

Altın Üye
Katılım
7 Kasım 2005
Mesajlar
495
Excel Vers. ve Dili
Office 365 TR-64
Altın Üyelik Bitiş Tarihi
15-04-2025
Bu durumda bir üst satırdaki personelin gün sayısı 1841 gün onun da 20 gün olması gerekmez mi? Kanunda 5 yıl dahil 14 gün (6 yıldan itibaren 20 gün), 5-15 yıl arası 20 gün der. Özür dileyerek olayı anlamaya çalışıyorum.

Saygılar,
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Merhaba İzinler ile ilgili hükmü bilmiyorum ancak kodu yazdığımızda
Rich (BB code):
If izinbaslamatarihi > 0 Then
If i >= 1 And i <= 5 Then
izinbul = 14
ElseIf i > 5 And i <= 14 Then
izinbul = 20
ElseIf i > 14 And i <= 65 Then
izinbul = 26
End If
If son1 + i <= 17 Then
izinbul = 20
ElseIf son1 + i >= 50 Then
If izinbul < 20 Then
izinbul = 20
Burada 1 ile 5 yıl 14 oluyor
5 den bir gün alırsa 20 oluyor
 

nongeyikm

Altın Üye
Katılım
7 Kasım 2005
Mesajlar
495
Excel Vers. ve Dili
Office 365 TR-64
Altın Üyelik Bitiş Tarihi
15-04-2025
1. Kıdemi 1-6 yıl (5. yıl dahil 6. yıl hariç) arasında olan çalışanlara, 14 günden,

2. Kıdemi 6-15 yıl (6.yıl dahil 15. yıl hariç) arasında olanlara, 20 günden ve

3. Kıdemi 15 yıl (15. yıl dahil) ve daha fazla olanlara ise 26 günden az yıllık ücretli izin verilemez.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
1. Kıdemi 1-6 yıl (5. yıl dahil 6. yıl hariç) arasında olan çalışanlara, 14 günden,

2. Kıdemi 6-15 yıl (6.yıl dahil 15. yıl hariç) arasında olanlara, 20 günden ve

3. Kıdemi 15 yıl (15. yıl dahil) ve daha fazla olanlara ise 26 günden az yıllık ücretli izin verilemez.
İlgili mevzuat veya kanun böylemi diyor.
Konu yaş hesaplamasına geldi galiba

on bir aylık bebek için on bir aylık olarak söyleriz
on iki aylık bebek için bir yaşında deriz
on iki aylık bebek on iki aydan bir gün alsa kaç dersiniz veya on üç aylık bebek kaç yaşındadır sizce
 

nongeyikm

Altın Üye
Katılım
7 Kasım 2005
Mesajlar
495
Excel Vers. ve Dili
Office 365 TR-64
Altın Üyelik Bitiş Tarihi
15-04-2025
Evet Halit Bey

1. Kıdemi 1-6 yıl (5. yıl dahil 6. yıl hariç) arasında olan çalışanlara, 14 günden,

2. Kıdemi 6-15 yıl (6.yıl dahil 15. yıl hariç) arasında olanlara, 20 günden ve

3. Kıdemi 15 yıl (15. yıl dahil) ve daha fazla olanlara ise 26 günden az yıllık ücretli izin verilemez.

Ancak 18 yaşından küçüklere (18. yaş dahil) ve 50 yaşından büyüklere (50. yaş dahil) 20 işgününden az yıllık ücretli izin verilemez. Bu süreler yasanın belirlediği taban sürelerdir ve bireysel iş sözleşmeleri ya da toplu iş sözleşmeleri ile bu süreler arttırılabilir.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
deyimler tam yazdığınız gibi mi

nette böyle buldum

Asgari yıllık izin süreleri
HİZMET SÜRESİ İZİN SÜRESİ
a) 1 yıldan 5 yıla kadar olanlara yılda 14 iş günü
b) 5 yıldan fazla ve 15 yıldan az olanlara yılda 20 iş günü
c) 15 yıl ve daha fazla olanlara yılda 26 iş günü
d) 18 ve daha küçük işçiler ile 50 ve daha yukarı yaştakilere yılda en az 20 iş günü
 

nongeyikm

Altın Üye
Katılım
7 Kasım 2005
Mesajlar
495
Excel Vers. ve Dili
Office 365 TR-64
Altın Üyelik Bitiş Tarihi
15-04-2025
Doğrudur fakat, 5 yıl dahil ifadesi yer almakta. yani 6.yılın izni 20 gündür.

http://iskanunu.com/genel/552-iscilerin-yillik-ucretli-izin-surelerinin-hesaplanmasi/

İşçilere verilecek yıllık ücretli izin süresi, hizmet süresi;

a) Bir yıldan beş yıla kadar (beş yıl dahil) olanlara on dört günden,

b) Beş yıldan fazla on beş yıldan az olanlara yirmi günden,

c) On beş yıl (dahil) ve daha fazla olanlara yirmi altı günden, az olamayacaktır. Ancak on sekiz ve daha küçük yaştaki işçilerle elli ve daha yukarı yaştaki işçilere verilecek yıllık ücretli izin süresi yirmi günden az olamaz. Yıllık izin süreleri iş sözleşmeleri ve toplu iş sözleşmeleri ile artırılabilir.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Ben konuyu söylediğiniz gibi algılamıyorm 6 mesajımda bir örnek vermiştim yaş ile ilgili ancak siz kodun bu bölümündeki kırmızı yerleri 6 veya 15 yapın.

Rich (BB code):
If i >= 1 And i <= 5 Then
izinbul = 14
ElseIf i > 5 And i <= 14 Then
izinbul = 20
ElseIf i > 14 And i <= 65 Then
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
yazdığınız metin ile ilgili buradan ne anlıyorsunuz.

Kod:
b) Beş yıldan fazla on beş yıldan az olanlara yirmi günden,
ben anladığımı söylüyorum bir yılı 365 kabul edersek (365*5)+1
burada beş yıl dolmuş altıncı yıldan gün almış oluyor dolayısıyla ikinci sıradaki durumla ilişkilendirmek gerekiyor yani yirmi yün olur diyorum.
 

nongeyikm

Altın Üye
Katılım
7 Kasım 2005
Mesajlar
495
Excel Vers. ve Dili
Office 365 TR-64
Altın Üyelik Bitiş Tarihi
15-04-2025
Halit Bey,

Belirtttiğiniz değeri 6 yapıyorum fakat izin günü yine 20. 7 yapıyorum yine 20. nerede yanlışlık yapıyorum çözemedim.
 

nongeyikm

Altın Üye
Katılım
7 Kasım 2005
Mesajlar
495
Excel Vers. ve Dili
Office 365 TR-64
Altın Üyelik Bitiş Tarihi
15-04-2025
Halit Bey,

Anlatılmak istenen; 5 yıl fiili olarak çalışan kişi 6. yılda da 14 gün izin kullanır. 6. yılını dolduran kişi 20 gün izin kullanmaya hak kazanır.

Saygılar,
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bu kodu bir dene

Kod:
Function izinbul(izinbaslamatarihi, dogumtarihi, calisilansure, tarih)

If izinbaslamatarihi = "" Then
izinbul = ""
Exit Function
ElseIf dogumtarihi = "" Then
izinbul = ""
Exit Function
ElseIf calisilansure = "" Then
izinbul = ""
Exit Function
ElseIf tarih = "" Then
izinbul = ""
Exit Function
End If

yıl = 365.25

deg2 = Val((CDate(tarih) - CDate(izinbaslamatarihi)) * 1) + 1
deg1 = Val(Val(((CDate(tarih) - CDate(dogumtarihi)) * 1) + 1) / yıl)

If deg2 >= yıl Then
deg2 = Val((deg2 / yıl))
yas = deg1 - deg2 - 1

i = Val(CDate(calisilansure) / yıl)

If izinbaslamatarihi > 0 Then
If i >= 1 And i < 6 Then
izinbul = 14
ElseIf i >= 6 And i < 15 Then
izinbul = 20
ElseIf i >= 15 And i <= 65 Then
izinbul = 26
End If

If izinbul < 20 Then
If yas <= 18 Or yas >= 50 Then
izinbul = 20
End If
End If

End If

Else
izinbul = 0
End If
End Function
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
Cevabım Sayın halit3'ün verdiği kodlara yönelik bir cevap değildir.

Konu dikkatimi çekti ve yıllık izin hakkı konusundaki genel fikrimi belirtmek istedim.
"İnsan Kaynakları" ile ilgili mevzuat bilgisi/tecrübesi daha yüksek olan üyeler mutlaka vardır ve konu dikkatlerini çekecek olursa fikirlerini yazarlar.

Bildiğim kadarıyla;
-- Ücretli yıllık izin, tamamlanmış her hizmet yılı için elde edilen bir haktır.
-- "beş yıldan fazla" ibaresi, 5 yıl+1 gün değil, 5+1 yıl anlamına gelir.
Yani ücretli çalışanın, hizmetinin 6'ncı yılını sürdürürken kullanabileceği ücretli yıllık izin hakkı 14 gündür.
Bir üst kademeye (20 gün) geçiş için 6'ncı hizmet yılının doldurulması gerekir.
Hizmet süresi 1 yılı dolmayanların ücretli yıllık izin hak etmemelerinin sebebi de esas olarak budur zaten.
.
 

Suskun

Altın Üye
Altın Üye
Katılım
27 Kasım 2006
Mesajlar
292
Excel Vers. ve Dili
Excel 19
Altın Üyelik Bitiş Tarihi
24.05.2032
Biraz anlam kargaşası yaşanmış ama Sn Ömer BARAN konuyu toparlayarak net açıklamış.
Yıllık izin Yönetmeliğine göre Halit3 zaten #8 mesajda açıklamayı yapmış
Kıdem Yılına göre ;
>=1 yıl 14 gün
>=6 yıl 20 gün
>= 15 yıl 26 gün Yıllık izin olmalı.

Yıllık izin hesaplamasında kullanabileceğiniz kod (10/6/2003 tarihinden önceki ve yeni izin süreleri ile yaş hesaplamaları dahil):

Kod:
Function IzinGunu(GirisTarihi As Date, izinTarihi As Date, Optional dogumTarihi As Date) As Long
    Dim Yas As Integer, kidemYili As Integer
    Dim Eski As Boolean, yasHesapla As Boolean
   
    Eski = False  '10/06/2003 tarihi ve öncesi izin günü hesaplatma Kapalı. İzinler 12,18,24 gün
    yasHesapla = False    ' 18 yastan kücük 50 yastan büyük olanlar için enaz izin günü hesaplatma
    
    kidemYili = DateDiff("YYYY", GirisTarihi, izinTarihi)
      
    If dogumTarihi > 0 Then yasHesapla = True
    
    Yas = DateDiff("YYYY", dogumTarihi, izinTarihi)
    If izinTarihi <= #10/6/2003# Then Eski = True
    
    If kidemYili < 1 Then IzinGunu = 0: Exit Function
    If kidemYili >= 1 Then If Eski = True Then IzinGunu = 12 Else IzinGunu = 14
    If kidemYili >= 6 Then If Eski = True Then IzinGunu = 18 Else IzinGunu = 20
    If kidemYili >= 15 Then If Eski = True Then IzinGunu = 24 Else IzinGunu = 26
    
    If yasHesapla = True Then
        If Yas <= 18 Or Yas >= 50 And IzinGunu < 20 Then IzinGunu = 20
    End If
End Function
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Sayın nongeyikm

Birazcık düşününce bu kodu ben size farklı bir dosyanızda kümülatif olarak izin günlerini göstermesi için yazmıştım oysa şimdi cari yılın için durumu istenmekte 14 nolu mesajdaki kodu güncelledim kod hesplamalarda kıdem yılına ait izin gününü vermektedir.
 

nongeyikm

Altın Üye
Katılım
7 Kasım 2005
Mesajlar
495
Excel Vers. ve Dili
Office 365 TR-64
Altın Üyelik Bitiş Tarihi
15-04-2025
Halit Bey merhaba,

Sizleri yorduğumun farkındayım. Muhtemelen sizinle aynı dili konuşamadığım için konu bu kadar uzadı. Önceki kodunuzda BD sütunu kümülatif olarak topluyordu. Benim isteğim kümülatif toplaması fakat şu anki kod sadece son iznini alıyor. 54. satırdaki personel yaşı 50 üzeri olmasına rağmen 14 gün olarak hesaplanmış.

Tekrar özür diler, Suskun ve Ömer Bey'in de katkı girişimlerinden dolayı teşekkür ederim.

Saygılar,
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bu kodu bir dene

Kod:
Function izinbul(izinbaslamatarihi, dogumtarihi, calisilansure, tarih)

If izinbaslamatarihi = "" Then izinbul = "": Exit Function
If dogumtarihi = "" Then izinbul = "": Exit Function
If calisilansure = "" Then izinbul = "": Exit Function
If tarih = "" Then izinbul = "": Exit Function

yıl = 365.25

tarih = CDate(tarih)
dogumtarihi = CDate(dogumtarihi)
izinbaslamatarihi = CDate(izinbaslamatarihi)
calisilansure = CDate(calisilansure)

deg1 = Val(Val(((tarih - dogumtarihi) * 1) + 1) / yıl)
deg2 = Val((tarih - izinbaslamatarihi) * 1) + 1

son = 0
If deg2 >= yıl Then
deg2 = Val((deg2 / yıl))
son1 = deg1 - deg2 - 1
i = Val(calisilansure / yıl)

For r = Val((tarih - izinbaslamatarihi) / yıl) To 1 Step -1
If izinbaslamatarihi > 0 Then
If i >= 1 And i <= 5 Then
izinbul = 14
ElseIf i >= 6 And i <= 14 Then
izinbul = 20
ElseIf i >= 15 And i <= 65 Then
izinbul = 26
End If

If izinbul < 20 Then
If son1 + i <= 17 Or son1 + i >= 50 Then
izinbul = 20
End If
End If

End If
son = son + izinbul
i = i - 1
Next r

izinbul = son
Else
izinbul = 0
End If
End Function
 
Son düzenleme:

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
19 nolu mesajdaki kodu yeniden güncelledim
 
Üst