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 :

TEMPS DE CALCUL


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Polygos
    Homme Profil pro
    Ma petite entreprise
    Inscrit en
    Avril 2016
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ma petite entreprise
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2016
    Messages : 190
    Par défaut TEMPS DE CALCUL
    Bonsoir à tous,
    une question simple visant à l'optimisation d'un fichier de donnéess produits multilingues.
    Pour le temps de calcul (construction d'un fichier d'import csv à partir des donnée sur les feulles sur la source Excel), vaut il mieux privilégier les AR sur une même feuille ou pas d'incidence sur le temps ?

    Jai une base de données avec des données produits sur 3 langues, complete.
    colonne 1: SKU
    Colonnes 2 à 350, données, tarductions de ces données, etc.

    C'est ma source pour créer une feuille nouvelle qui sera transformée en csv et exportée sur le site de vente
    Ma cible:
    colonne 1 les skus éligibles à l'import, les autres données utiles par le site qui les importe.

    Ajourd'hui j'augmente un peu les données caractéristiques des produits mais surtout les langues.

    Ca me paraissait plus intelligent de créer une langue par feuille avec la même structure des données (mêmes colones) pour simplifier la lecture mais qu'en est il des temps d'accès ?
    Vaut il meiux ne pas sorir de la feuille ou ça a peu d'importance ? Je pense que non.

    Par ex j'itére de L1à Ln sur la feuiile 1 ou se trouvent les caractéristiques fondamentales des produits et leurs dénominations en Français, 2500 lignes, 350 colonnes
    Sur chaque ligne je controle par 4 boucles mon tri pour remplir mon fichier cible (4 critères doivent êtres examinés pour exporter ou non le produit ds le fichier cible)
    Puis pour chaque ligne, je vais aller remplir ds un fichier cible les copier collers des données au endroit. Le fichier cible a 320 colonnes et là, j'y peux rien, c'est celui de la market place.
    J'espère qu eje suis clair.

    A part urtiliser Application.ScreenUpdating = False en début, je ne vois pas comment réduire mes temps; si, concaténer mes 4 critères en un seul, une boucle au lieu de 4 (si Produit elligible = on va pouvoir copier ses données) donc une seule colonne à aller lire et tester et on déroule les n produits dont on copie les données dans le fichier cible d'import vers l'extérieur.

    J'ai pensé aussi copier le fichier source sur le HD du PC (un SSD) et y créer aussi sa cible plutot que d'aller faire des AR sur le serveur directement où ils sont stockés pour la partage.
    avez vous d'autres idées ?

    Temps de cacul en jeu: 4h avec un i5 4670K 3.4 GHz, 32 Go RAM, ss W10Pro 64b, ss Excel 2016

    Merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Je n'ai pas tout compris de tes extractions, mais j'ai l'impression que Power Query pourrait t'aider à préparer le tableau à exporter en csv. C'est l'outil expressément prévu pour ces traitements. Sans mieux connaître la conception de tes feuilles, difficile de t'aider mieux à ce niveau.

    Si tu veux le faire en VBA, tu pourrais t'orienter vers les filtres avancés (voir le tuto de Philippe Tulliez à ce sujet) ou vers un traitement par array (tableau VBA) qui permettra à mon avis d'aller plus vite que la manipulation des range Excel.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. temps de calcul RSA
    Par othland dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 13/03/2006, 11h16
  2. Temps de calcul d'un algo
    Par Rémiz dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 23/12/2005, 13h52
  3. temps de calcul sius VC++ !!
    Par Axiome dans le forum MFC
    Réponses: 16
    Dernier message: 13/12/2005, 09h57
  4. Temps de calcul avec deux écrans
    Par Shaga dans le forum OpenGL
    Réponses: 2
    Dernier message: 14/11/2005, 09h24
  5. temps de calculs extremement long !!
    Par salseropom dans le forum C++
    Réponses: 9
    Dernier message: 19/01/2005, 20h12

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