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

Macros et VBA Excel Discussion :

Eviter l'utilisation d'un fichier temporaire dans une copie de données


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2008
    Messages : 23
    Points : 10
    Points
    10
    Par défaut Eviter l'utilisation d'un fichier temporaire dans une copie de données
    Bonjour à tous!

    je travaille sur une une macro (plusieurs en fait mais la logique est assez similaire) qui a pour but de convertir des données issues d'un fichier imr vers un classeur excel.
    Mon système marche bien , j'ai résolu les derniers problèmes la semaine dernière grâce au forum (MERCI)

    Maintenant je voudrais l'optimiser un peu pour éviter de trop faire de calculs.

    je vous explique la situation actuelle

    Je crée un fichier excel TEMP dans lequel je fais des modifs avant de copier le tout dans une feuille du fichie source.

    pour cela j'ai



    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
     
     
    Dim objImpApp As Object
    Dim objImpRep As Object
     
     
    'j'ouvre les fichiers
    Set objImpApp = CreateObject("Impromptu.application")
    objImpApp.OpenCatalog "\\Sierredwh01\echange\Impromptu\Catalogue\.......cat", _
        "Emballage"
     
    requete = "\\Sierredwh01\echange\Impromptu\.....-Rn.imr"
     
    paramètre = Date_Debut & "|" & Date_Fin
    Set objImpRep = objImpApp.OpenReport(requete, paramètre)
     
    'ici mon objet est créé et dimesionné, je vais pouvoir l'utiliser
    'ce que je fais en créant un fichier temp appelé ici OBJ
     
    Set objImpRep = objImpApp.ActiveDocument
        objImpRep.Exportexcel OBJ
        objImpRep.CloseReport
     
     
    Set objImpRep = Nothing
        Set objImpApp = Nothing
     
     
    'puis par la suite
    Windows("TEMP.xls").Activate
     
    avec tout mon bouiboui de modif

    Mon idée serait de faire tout cela directement dans la feuille datas de mon fichier qui contient la macro pour sauter une étape.

    ma question est la suivante :

    comment sélectionner mon fichier et surtout la feuille datas au lieu de prendre mon fichier temporaire OBJ.







    et sinon j'ai une question toute bete mais je ne trouve pas de réponse sur le net car je n'arrive pas à formuler une question efficace pour les moteurs de recherche.

    j' ai un i que j'incrémente et qui retourne une valeur je voudrais l'insérer dans un range comment faire?

    actuellement j'ai

    Range("A2", "AW20000 ").Select


    et je voudrais mettre i à la place de 20000


    merci à vous!

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Pour répondre à ta seconde question, c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A2,AW" & i).Select
    Au cas où tu souhaiterais sélectionner toutes les cellules entre A2 et AW(i) remplace la virgule par :

    Edit : Salut Alain, perso je préfère utiliser "Cells(x, y)", question d'habitude

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par MrBidon Voir le message
    actuellement j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A2", "AW20000 ").Select
    et je voudrais mettre i à la place de 20000
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim i As Long
    i = 20
    Range(Cells(2, 1), Cells(i, 49)).Select
    Edit: Grillé par fring (salut)
    Mais je propose une variante.

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2008
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    raaaaaahhhh tout simple pour ce point!

    c'est terrible ce genre de truc, un truc tout bête mais galère à trouver!

    merci beaucoup


    à tout hasard vous n'avez pas une idée pour l'autre question?

Discussions similaires

  1. [PDO] Charger un fichier csv dans une base de données en utilisant PDO
    Par soussou1010 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/07/2014, 15h36
  2. utilisation d'un fichier xml dans une page jsp
    Par thesorrow dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 22/03/2007, 09h38
  3. intégrer un fichier image dans une base de donnée?
    Par Lody dans le forum Requêtes
    Réponses: 9
    Dernier message: 16/03/2006, 20h08
  4. Intégration des fichier XML dans une base de données MySQL
    Par bebemoundjou dans le forum XQUERY/SGBD
    Réponses: 8
    Dernier message: 25/11/2005, 23h41
  5. Enregistremenbt d'un fichier WORD dans une base de données
    Par yam49 dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/08/2004, 16h01

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