IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Programme qui permet de rassembler plusieurs fichiers excel en un seul


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 35
    Par défaut Programme qui permet de rassembler plusieurs fichiers excel en un seul
    Bonjour,

    Je ne suis toujours pas très à l'aise avec Python et en programmation généralement. Je travaille pour une association qui fait des collecte dans les magasins et pour les enregistrement de bénévoles j'utilise doodle basique pour les enregistrements de bénévoles.
    Depuis mon dash board doodle j'extrais les rapport excel pour chaque doodle magasin que j'ai créé. Hebdomadairement j'envoie un récap donc ces fichiers pour chaque responsable collecte magasin.
    Je voudrai rassembler tous les fichiers excel dans un seul sous forms d'onglets (donc par magasin) ceci afin de faciliter l'envoi mais aussi l'utilisation par les responsables.
    Exemple (les chiffres étant le nom magasin pour l'exemple):

    Collecte1.xls
    Collecte 2.xls
    .....
    Collecte 30.xls

    à mettre dans un fichier général: Collecte2026.xls (avec les onglets collecte1, collecte2, .... , collecte 30)

    Merci pour votre aide très apprécié par moi mais surtout pour l'association.

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 117
    Par défaut
    Pour manipuler des fichiers Excel, je te suggère d'utiliser Openpyxl.

    Je me suis basé sur ce tutoriel lorsque j'ai tenté l'expérience.
    https://www.datacamp.com/fr/tutorial...excel-tutorial

    Attention, ne fonctionne pas sur les vieux format (inférieur à Excel 2010)

    La documentation officielle se trouve ici.
    https://openpyxl.readthedocs.io/en/stable/

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 612
    Par défaut
    Parmi les différentes possibilités, il y a le module polars de Python qui, aidé de xlsxwriter par exemple, peut faire le job.

    Installation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pip install polars xlsxwriter
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    import polars as pl
     
    # 1. Récupérer les données de différents fichiers
    df1 = pl.read_excel("fichier_a.xlsx")
    df2 = pl.read_excel("fichier_b.xlsx")
     
    # 2. Créer un dictionnaire où :
    # la clé = le nom de l'onglet
    # la valeur = le DataFrame correspondant
    sheets = {
        "Données_A": df1,
        "Données_B": df2
    }
     
    # 3. Sauvegarder le tout dans un fichier unique
    pl.write_excel(sheets, "resultat_final.xlsx")

  4. #4
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 35
    Par défaut
    Bonjour,

    J'ai donc fait ce code mais par contre ça ne marche pas, cela traite un fichier mais pas les suivants, avez vous une idée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    import os
    import pandas as pd
     
    # === PARAMÈTRES ===
    dossier = r"C:\test2"  # <-- A MODIFIER
    fichier_sortie = os.path.join(dossier, "Collecte2026.xlsx")
     
    # Créer un writer Excel
    with pd.ExcelWriter(fichier_sortie, engine="openpyxl") as writer:
     
        # Parcourt tous les fichiers du dossier
        for fichier in os.listdir(dossier):
     
            if fichier.endswith(".xls") or fichier.endswith(".xlsx"):
                chemin_complet = os.path.join(dossier, fichier)
     
                # Nom de l'onglet = nom du fichier sans extension
                nom_onglet = os.path.splitext(fichier)[0]
     
                try:
                    # Lecture du fichier
                    df = pd.read_excel(chemin_complet)
     
                    # Écriture dans un onglet
                    df.to_excel(writer, sheet_name=nom_onglet[:31], index=False)
     
                    print(f"Ajouté : {fichier}")
     
                except Exception as e:
                    print(f"Erreur avec {fichier} : {e}")
     
    print("\nFusion terminée")
    Avez vous une idée?

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 612
    Par défaut
    Pensez à copier/coller votre code entre les balises #.

    Regardez la signature de mon profil.

    Tel quel, votre code est illisible puisque l'indentation en Python est le B.A-BA.

  6. #6
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 35
    Par défaut
    Voici le code en pièce jointe pour garder les indentations.
    Merci de votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    import os
    import pandas as pd
     
    # === PARAMÈTRES ===
    dossier = r"C:\test2"
    fichier_sortie = os.path.join(dossier, "Collecte2026.xlsx")
     
    # Créer un writer Excel
    with pd.ExcelWriter(fichier_sortie, engine="openpyxl") as writer:
     
        # Parcourt tous les fichiers du dossier
        for fichier in os.listdir(dossier):
     
            if fichier.endswith(".xls") or fichier.endswith(".xlsx"):
                chemin_complet = os.path.join(dossier, fichier)
     
                # Nom de l'onglet = nom du fichier sans extension
                nom_onglet = os.path.splitext(fichier)[0]
     
                try:
                    # Lecture du fichier
                    df = pd.read_excel(chemin_complet)
     
                    # Écriture dans un onglet
                    df.to_excel(writer, sheet_name=nom_onglet[:31], index=False)
     
                    print(f"Ajouté : {fichier}")
     
                except Exception as e:
                    print(f"Erreur avec {fichier} : {e}")
     
    print("\nFusion terminée")
    Fichiers attachés Fichiers attachés

  7. #7
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 35
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    import os
    import pandas as pd
     
    # === PARAMÈTRES ===
    dossier = r"C:\test2"
    fichier_sortie = os.path.join(dossier, "Collecte2026.xlsx")
     
    # Créer un writer Excel
    with pd.ExcelWriter(fichier_sortie, engine="openpyxl") as writer:
     
        # Parcourt tous les fichiers du dossier
        for fichier in os.listdir(dossier):
     
            if fichier.endswith(".xls") or fichier.endswith(".xlsx"):
                chemin_complet = os.path.join(dossier, fichier)
     
                # Nom de l'onglet = nom du fichier sans extension
                nom_onglet = os.path.splitext(fichier)[0]
     
                try:
                    # Lecture du fichier
                    df = pd.read_excel(chemin_complet)
     
                    # Écriture dans un onglet
                    df.to_excel(writer, sheet_name=nom_onglet[:31], index=False)
     
                    print(f"Ajouté : {fichier}")
     
                except Exception as e:
                    print(f"Erreur avec {fichier} : {e}")
     
    print("\nFusion terminée")

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 688
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 688
    Par défaut
    ça t'affiche quoi ?
    tu as les messages de l'exception "Erreur avec {fichier} : {e}" ? ou d'autres messages d'erreurs?
    Dans tous les cas, il faudra lire l'erreur retournée (et nous les donner aussi si tu veux qu'on t'aide)

  9. #9
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 35
    Par défaut
    Bonjour,

    Voici ce que cela me met:


    File ~\AppData\Local\anaconda3\Lib\site-packages\openpyxl\workbook\_writer.py:33 in get_active_sheet
    raise IndexError("At least one sheet must be visible")

    IndexError: At least one sheet must be visible

  10. #10
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 889
    Par défaut
    Hello,

    Après cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nom_onglet = os.path.splitext(fichier)[0]
    écrivez cette ligne

    Vous pourrez donner ensuite le retour de cette ligne (nombre de caractères du nom de l'onglet) avant l'erreur.
    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)

  11. #11
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 875
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Dingobec Voir le message
    Avez vous une idée?
    Déjà tu as affiché différents textes dans ton traitement (ajouté fichier, erreur fichier, etc). Une idée aurait été que tu nous indiques si l'un ou l'autre de ces messages apparaissaient durant le traitement. Parce que s'ils n'apparaissent pas, alors c'est du côté du if fichier.endswith(".xls") or fichier.endswith(".xlsx") qu'il faut s'orienter
    Et (accessoirement) tu remplacerais ce test par son inverse if not fichier.endswith(".xls") and not fichier.endswith(".xlsx"): continue tu gagnerais un niveau d'indentation

    Citation Envoyé par Dingobec Voir le message
    File ~\AppData\Local\anaconda3\Lib\site-packages\openpyxl\workbook\_writer.py:33 in get_active_sheet
    raise IndexError("At least one sheet must be visible")

    IndexError: At least one sheet must be visible
    Il me semble que cette erreur signifie que tu n'as pas activé d'onglet avant d'écrire. Quand on écrit un excel via openpyxl, il est nécessaire de sélectionner l'onglet dans lequel on va écrire. Bon le souci c'est que tu passes par la surcouche pandas que je ne connais pas. Mais avec openpyxl cela se fait de la façon suivante:
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    wb = openpyxl.WorkBook()
    ws = wb.active
    ws récupère donc l'onglet par défaut (car quand on crée un excel il y a toujours un onglet de créé) et ensuite on écrit dans ws.

    Et si on crée un nouvel onglet, alors il devient automatiquement l'onglet sélectionné
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    wb = openpyxl.WorkBook()
    ws = wb.createSheet("toto")
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  12. #12
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 326
    Par défaut
    Hello,
    A noter qu'avec LibreOffice Calc, tu pourrais faire ton opération facilement, en macro Basic ou python et sans utiliser de bibliothèques tierces. Calc sait lire les fichiers .xls et générer des fichiers .xls , .xlsx ou .ods.
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

  13. #13
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 889
    Par défaut
    Ce code semble passer les tests

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    import logging
    from pathlib import Path
    from typing import Iterator
     
    import pandas as pd
     
    INPUT_DIR = Path(r"C:\test2")
    OUTPUT_FILENAME = "Collecte2026.xlsx"
    INFO_SHEET_NAME = "Info"
    SHEET_NAME_MAX_LENGTH = 31
    LOGGER = logging.getLogger(__name__)
     
     
    def _is_input_excel(file_path: Path) -> bool:
        return file_path.suffix.lower() in (".xls", ".xlsx")
     
     
    def _iter_input_files(input_dir: Path, output_filename: str) -> Iterator[Path]:
        for file_path in input_dir.iterdir():
            is_output_file = file_path.name == output_filename
            if _is_input_excel(file_path) and not is_output_file:
                yield file_path
     
     
    def _write_input_sheet(writer: pd.ExcelWriter, file_path: Path) -> None:
        data_frame = pd.read_excel(file_path)
        sheet_name = file_path.stem[:SHEET_NAME_MAX_LENGTH]
        data_frame.to_excel(writer, sheet_name=sheet_name, index=False)
     
     
    def _write_info_sheet(writer: pd.ExcelWriter) -> None:
        pd.DataFrame(
            {"message": ["Aucun fichier Excel exploitable trouve dans le dossier."]},
        ).to_excel(writer, sheet_name=INFO_SHEET_NAME, index=False)
     
     
    def main() -> None:
        logging.basicConfig(level=logging.INFO, format="%(message)s")
        INPUT_DIR.mkdir(parents=True, exist_ok=True)
        output_file = INPUT_DIR / OUTPUT_FILENAME
        written_sheets = 0
     
        with pd.ExcelWriter(output_file, engine="openpyxl") as writer:
            for file_path in _iter_input_files(INPUT_DIR, OUTPUT_FILENAME):
                try:
                    _write_input_sheet(writer, file_path)
                except Exception as error:
                    LOGGER.error("Erreur avec %s : %s", file_path.name, error)
                else:
                    written_sheets += 1
                    LOGGER.info("Ajoute : %s", file_path.name)
     
            if written_sheets == 0:
                _write_info_sheet(writer)
                LOGGER.info("Aucun fichier valide a fusionner, onglet Info cree.")
     
        LOGGER.info("Fusion terminee")
     
     
    if __name__ == "__main__":
        main()
    Manque plus qu'à vérifier que les tests fonctionnent de manière concrète et souhaitée.
    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)

  14. #14
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 326
    Par défaut
    Citation Envoyé par Dingobec Voir le message
    J'ai donc fait ce code mais par contre ça ne marche pas, cela traite un fichier mais pas les suivants, avez vous une idée:
    Hello,
    est-ce qu'en entrée il y a des fichiers .xls et des fichiers .xlsx ?
    pandas pour lire les fichiers Excel utilisent différents "moteurs" suivant le type de fichier en entrée.
    Pour les fichiers .xls il utilise xlrd mais il faut que le module python xlrd soit installé.
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

  15. #15
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 35
    Par défaut
    Bonjour,

    Tous les fichiers en entrée sont des fichiers xlsx.

    @fred1599, j'ai testé et j'ai le même problème. J'obtiens bien collecte2026.xlsx mais il n'y a qu'un onglet dedans et non pas un onglet par fichier xlsx à fusionner.
    Le programme se termine sans erreur malgré tout.

    Merci de l'aide que vous m'apporter sur cela, j'apprécie beaucoup, c'est important pour des novices comme moi lol.

    J'ai mis le fichier obtenu en pièce jointe.

  16. #16
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 326
    Par défaut
    Hello,
    Fais attention Dingobec, ton fichier n'est pas anonymisé. Tu as laissé dedans des numéros de téléphone et des adresses email. Même si tu as un mis un gros bloc noir, on voit ce qu'il y a dans les cellules.
    Plutot de nous mettre ce qu'il y a en en sortie, mets nous un des fichiers d'entrée mais complétement anonymisé.
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

  17. #17
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 35
    Par défaut
    Oupsss merci pour l'info.

    Voici un fichier d'entrée test.

  18. #18
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 326
    Par défaut
    dingobec, tu vas trouver que je suis un peu "chiant" mais tu as laissé encore des noms avec des numéros de téléphones dans ton classeur ( en A4) et il y a de la mise en forme dans ton fichier d'entrée que tu vas surement perdre dans ton fichier de sortie en passant par pandas.
    D'autre part tu utilises Excel ? autre chose ? et les utilisateurs ?
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

  19. #19
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 35
    Par défaut
    Hello , tu n'es pas chiant lol j'apprécie tes remarques.

    Voici donc le bon fichier. Tu me dis que je vais perdre la mise en forme alors comment faire si je veux garder celle-ci?
    J'utilise excel ainsi que tous les utilisateurs.
    Merci beaucoup
    Fichiers attachés Fichiers attachés

  20. #20
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 326
    Par défaut
    Citation Envoyé par Dingobec Voir le message
    Tu me dis que je vais perdre la mise en forme alors comment faire si je veux garder celle-ci?
    J'utilise excel ainsi que tous les utilisateurs.
    Merci beaucoup
    Bon alors , il n'y a pas photo, le mieux pour toi c'est une macro Excel en VBA. Moi je saurai faire mais comme ici on est dans un forum Python, je te propose de poser ta question initiale dans le forum Office/ Excel / sous-forum Macros et VBA Excel de developpez.net.
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

Discussions similaires

  1. Créer un programme qui permet de convertir un fichier PDF en Excel
    Par Sayuri dans le forum Autres Solutions d'entreprise
    Réponses: 2
    Dernier message: 20/12/2016, 14h23
  2. Réponses: 5
    Dernier message: 06/08/2009, 13h10
  3. Rassembler plusieurs fichiers excel en un
    Par mariafan dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 09/06/2008, 16h50
  4. Réponses: 8
    Dernier message: 20/03/2008, 20h01
  5. Rassembler plusieurs fichiers excel
    Par Nad777 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/02/2008, 10h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo