problème d'ouverture en cascade de fichiers excel
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

problème d'ouverture en cascade de fichiers excel



  1. #1
    paprika48

    problème d'ouverture en cascade de fichiers excel


    ------

    Bonjour,
    je gère des classeurs excel du genre 2021_compta.xls, 2022_compta.xls, 2023_compta....
    avec le classeur 2022_compta j'ai besoin d'utiliser la fonction indirect() pour mettre à jour des cellules à partir de 2021_compta, ce qui nécessite que 2021 soit ouvert. J'ai donc créé une macro workbook_open() qui lance 2021 à l'ouverture de 2022 : ça marche !
    sauf que si je lance le fichier 2023 il lance 2022, qui lance à son tour 2021 (il y a la même procedure dans tous les classeurs)
    Comment éviter ce lancement en cascade ?
    Merci pour vos réponses

    -----

  2. #2
    vande545

    Re : problème d'ouverture en cascade de fichiers excel

    Bonjour
    Sans voir le code VBA, c'est impossible de t'aider

  3. #3
    umfred

    Re : problème d'ouverture en cascade de fichiers excel

    En vérifiant que le n+1 n'est pas ouvert avant d'ouvrir le n-1 (ou qu'il n'y a qu'un seul fichier excel d'ouvert)
    le workbook_open() étant une macro lancée systématiquement à l'ouverture du classeur; ça provoque le lancement en cascade
    Code:
    Private sub workbook_open()
        dim is_next_open as boolean
        dim wb as Workbook
        dim AnneeCourante as integer
        AnneeCourante = CInt(left(thisworkbook.name,4))      ' on récupère l'année du classeur actuellement ouvert
        on error resume next                                                ' si erreur, on poursuit tout de même (ça permet de s'affranchir de tester si le nom commence des classeurs commencent par 4 chiffres)
        For Each wb in Worbooks                                           ' on regarde parmi les classeurs ouvert
            if CInt(left(wb.Name,4)) = AnneeCourante+1 then  ' si le classeur de l'année suivante est ouvert
                is_next_open =True                                          ' on le "mémorise"
                Exit For                                                            ' et on sort
            End If
        Next
        if not is_next_open then                                                      'si le classeur de l'année suivante n'est pas ouvert
            workbooks.open Csrt(AnneeCourante-1) & "_compta.xls"   ' on ouvre le classeur de l'année précédente
        end if
    End Sub

Discussions similaires

  1. Problème d'ouverture de fichiers pour Excel 365
    Par Jack dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 20/07/2020, 18h59
  2. Ouverture fichiers textes avec excel VBA
    Par speed_01 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 13/12/2013, 07h18
  3. Problème conversion fichiers excel PC vers excel MAC
    Par invite6b974360 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 14/11/2007, 21h31
  4. Problème avec ouverture fichiers RAW.
    Par invitedcacff25 dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 26/09/2007, 00h51
  5. probleme d'ouverture des fichiers téléchargés
    Par invite82369654 dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 25/04/2006, 13h40
Découvrez nos comparatifs produits sur l'informatique et les technologies.