J'ai beau chercher, je ne trouve pas la solution. Je cherche à importer une comptabilité dans un tableau Excel, dans l'onglet dédié (collé à partir de la cellule F51).
path = r'C:\Users\POPOL\OneDrive\A) Personnel\Auto\SB\SB au ' +e+'/'+e+'_XXX_SB.xlsx' path2 = r'C:\Users\POPOL\OneDrive\A) Personnel\Auto\ '+e+'_TotalCompta.csv' SB = ox.load_workbook(path) #j'ouvre une variable dans laquelle je mets mon tableur SB Compta = list(SB['comptabilite']) #compta est désormais une liste qui contient l'onglet 'comptabilite' de mon fichier Excel 'SB'
Le point maintenant ce serait de coller la valeur du fichier Total compta (accessible avec path2) dans la cellule F51 de mon tableau (onglet comptabilite) de façon à ne pas bousiller mes formules.
Le truc c'est que je navigue entre openpyxl (tableur) et des tableaux Panda... bref je nage.
Lire le fichier CSV en utilisant pandas. Cela vous permettra de manipuler les données avant de les insérer dans le fichier Excel.
Ouvrir le fichier Excel avec openpyxl et sélectionner l'onglet comptabilite.
Coller les données du fichier CSV à partir de la cellule F51 de l'onglet comptabilite sans écraser les formules existantes.
Une proposition rapide,
import pandas as pd
import openpyxl as ox
path = r'C:\Users\POPOL\OneDrive\A) Personnel\Auto\SB\SB au ' +e+'/'+e+'_XXX_SB.xlsx'
path2 = r'C:\Users\POPOL\OneDrive\A) Personnel\Auto\ '+e+'_TotalCompta.csv'
df = pd.read_csv(path2)
wb = ox.load_workbook(path)
sheet = wb['comptabilite']
start_row = 51
start_col = 'F'
for index, row in df.iterrows():
for col, value in enumerate(row):
col_letter = openpyxl.utils.get_column_letter(col + openpyxl.utils.column_index_from_string(start_col))
cell = f"{col_letter}{start_row + index}"
sheet[cell] = value
wb.save(path)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
EDIT: Fred, votre proposition fonctionne, vous n'imaginez pas combien cela va aider quotidiennement certains de mes collègues. Merci infiniment.
De rien, par contre prochaine fois mettez votre code entre balises adaptées afin d'avoir une lecture comme vous pouvez le voir sur mon code.
Puis essayez de montrez ce que vous avez fait (non pas le début du code) mais pour votre problématique et les erreurs indiquées par votre interpréteur.
C'est en essayant et en observant de ses erreurs qu'on progresse...
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)