Conception d'une application

Bonjour,
Dans un classeur Excel à multi onglets comportant des données par pays, je dois créer des fonctions de vérification des données.
Le problème est que ce fichier est périodique et lorsque je le reçois je dois copier manuellement le contenu des onglets dans mon classeur qui contient des macros VBA afin que les contrôles automatiques soient effectués.
Je voudrais donc éviter les copies manuelles. La première solution à laquelle j'ai pensée c'est d'importer (charger + copier + coller) chaque fichier à l'aide d'un bouton qui se trouve dans mon classeur à macros puis d'exporter les données dans un nouveau fichier (ou dans le fichier d'origine) après avoir effectué les contrôles.
Auriez vous d'autres suggestions de solutions?

Merci d'avance pour toute aide
Cordialement

Bonjour,

Auriez vous d'autres suggestions de solutions?

Vous pourriez réaliser vos contrôles directement sur vos nouveaux fichiers.

Bonjour Eric

Merci pour votre réponse.

Vous voulez dire que je peux d'ouvrir les nouveaux fichiers par du code VBA dans mon classeur standard et d'effectuer directement les contrôles sans passer par un copier/coller des données?

Merci d'avance pour la confirmation.

Faites l'expérience avec l'enregistreur de macros, d'ouvrir un de vos fichiers.

Il vous faudra seulement instancier deux variables Workbook pour reconnaître vos "petits" :

  • Une si vous devez mettre à jour votre fichier de synthèse.
  • Une pour votre fichier à ouvrir afin de procéder aux calculs sur ce fichier.

Bonsoir Eric,

Merci beaucoup. Je vais essayer cela.

Bonjour à tous,

cheickna,

On peut trés bien importer les onglets des nouveaux classeurs dans celui à macro.

Avec ce code (Selection est le nom de l'onglet) qui ouvre le répertoire des dossiers.

 'message d'ouverture fichier d'export
        MsgBox "Veuillez sélectionner le fichier à remplir, en format *.xlm ." & Chr(10) & "Le fichier ne doit pas être déjà ouvert."
        'ouverture fichier source
            CheminFichier = Application.GetOpenFilename(FileFilter:="Fichiers Excel (*.xlsm*), *.xlsm*", _
              Title:="Choisissez le fichier excel d'export à ouvrir", MultiSelect:=False)
                'Définir le classeur de destination
                Set WbD = Workbooks.Open(CheminFichier, 0, ReadOnly:=False)
                WbD.Sheets("Feuil1").Cells.Clear 'efface données precedentes
                 'Copier la feuille "sélection" de ce classeur
                WbS.Sheets("Selection").Copy
                With WbD.Sheets("Feuil1")
                    .Range("A1").Select 'onglet
                    ActiveSheet.Paste
                    Application.CutCopyMode = False 'enleve pointillés copiage
                End With

Si çà ne fonctionne pas, envoyer moi les fichiers.

Edit modo : vous n'êtes pas seul sur ce forum

Cdt

Bonjour Fronck,
Merci beaucoup. Je vais tester cette fonction également et comparer les deux solutions (modification directe du classeur à tester ou import des onglets du classeur à tester dans mon classeur de contrôle).
Bien à vous

Cordialement,

Rechercher des sujets similaires à "conception application"