# Réponse finale obtenue du bot:
response = « Voici un exemple de code Python qui crée un tableau Excel avec les formules requises pour la gestion des ressources humaines d’un chargé/chargée de développement local :
« `python
import pandas as pd
from openpyxl import load_workbook
# Créer un nouveau workbook ou charger un existing one
wb = load_workbook(‘ressources_humaines.xlsx’)
ws = wb.active
# Définition des données
donnees = {
‘Nom’: [‘Dupont’, ‘Durand’, ‘Martin’],
‘Prénom’: [‘Jean’, ‘Marie’, ‘Pierre’],
‘Poste’: [‘Chargé de développement local’, ‘Chargée de développement local’, ‘Chef de projet’],
‘Salaire’: [30000, 25000, 45000],
‘Heures travaillées’: [160, 120, 200]
}
# Créer un DataFrame à partir des données
df = pd.DataFrame(donnees)
# Écrire le DataFrame dans l’Excel
ws[‘A1’] = ‘Nom’
ws[‘B1’] = ‘Prénom’
ws[‘C1’] = ‘Poste’
ws[‘D1’] = ‘Salaire’
ws[‘E1’] = ‘Heures travaillées’
for i, row in df.iterrows():
ws[f’A{i+2}’] = row[‘Nom’]
ws[f’B{i+2}’] = row[‘Prénom’]
ws[f’C{i+2}’] = row[‘Poste’]
ws[f’D{i+2}’] = row[‘Salaire’]
ws[f’E{i+2}’] = row[‘Heures travaillées’]
# Formules
ws[‘F1’] = ‘Nb de jours’
ws[‘G1’] = ‘Salaire total’
for i in range(2, df.shape[0] + 2):
# NB : nombre de jours
ws[f’F{i}’] = f’=J{df.index[i-1]+1}*8′
# NB.SI : nombre de jours si heures travaillées > 160
ws[f’G{i}’] = f’=SI(E{i}>160, J{i}*8*E{i}/160, « »)’
# NB.SI.ENS : nombre de jours si poste est « Chargé/chargée de développement local »
ws[f’H{i}’] = f’=SI(C{i}= »Chargé/chargée de développement local », F{i}, « »)’
# NBVAL : valeur numérique du salaire total
ws[f’I{i}’] = f’=D{df.index[i-1]+1}*J{i}’
# Enregistrer le fichier Excel
wb.save(‘ressources_humaines.xlsx’)
« `
Ce code crée un nouveau tableau Excel nommé « ressources_humaines.xlsx » avec les colonnes suivantes :
* Nom : pour enregistrer le nom des employés
* Prénom : pour enregistrer le prénom des employés
* Poste : pour enregistrer le poste des employés (chargé/chargée de développement local ou chef de projet)
* Salaire : pour enregistrer les salaires des employés
* Heures travaillées : pour enregistrer les heures travaillées par les employés
Les formules suivantes sont utilisées dans le tableau :
* `NB` : nombre de jours travaillés (calculé à partir du nombre d’heures travaillées et de la journée de travail de 8 heures)
* `NB.SI` : nombre de jours travaillés si les heures travaillées dépassent 160
* `NB.SI.ENS` : nombre de jours travaillés si le poste est « chargé/chargée de développement local »
* `NBVAL` : valeur numérique du salaire total (calculé en multipliant le salaire par le nombre de jours travaillés)
Notez que ce code suppose que vous avez installé les bibliothèques `pandas` et `openpyxl`. Si ce n’est pas le cas, installez-les à l’aide des commandes suivantes :
« `bash
pip install pandas openpyxl
« `
Ce code est un exemple et peut être adapté en fonction de vos besoins spécifiques. »