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 / Fonction REMPLACER


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Septembre 2022
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2022
    Messages : 7
    Par défaut Temps de calcul / Fonction REMPLACER
    Bonjour,

    Dans un onglet de fichier Excel je charge une base de donnée comptable (liste d'écritures). Ces données sont complétés dans cet onglet en bout de ligne : j'affecte des catégories comptables suivant le numéro de compte qui est une une des données de la base de données.
    Sur un 2e onglet de tableau de bord, ces données sont compiler notamment grace à la formule SOMME.SI.ENS pointant sur le 1er onglet.

    J'ai réalisé une macro VBA (débeuguée grace à ce forum!) qui permet de changer la base de données chargée dans le 1er onglet (la fonction remplace le nom et chemin du fichier excel où se trouve la source de base de données).
    Seulement mon fichier fait 60 000 lignes et 5 colones et faire les changements dans la formule grace à la fonction REMPLACER de chacune de ces cellules prend environ 8h avec un ordinateur récent...
    J'ai l'impression (peut être à tord) malgré le fait que je désactive le calcul automatique pendant la macro que l'ordinateur est ralenti car chaque changement engendre du recalcule sur le 2 onglet.

    J'espère avoir été clair, le problème n'est pas facile à expliquer

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 246
    Par défaut
    Hello,
    Si il n'y a pas d'informations personnelles dedans peux-tu nous montrer :
    1- les formules utilisées ( il y a peut-être possibilité d'utiliser des formules matricielles)
    2 - la macro VBA.

    Ami calmant, J.P

  3. #3
    Membre Expert
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 291
    Par défaut
    Bonjour

    Ce genre de traitement devrait être réalisé avec Power Query et non VBA, cet outil est fait pour le genre de manip que vous demandez.
    Ensuite la synthèse devrait être réalisée avec des TCD et non des SOMME.SI.ENS, c'est beaucoup plus efficace.

    Stéphane

  4. #4
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Septembre 2022
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2022
    Messages : 7
    Par défaut Fichier loader en PJ
    Merci JP de te pencher sur le sujet

    J'ai voulu charger le fichier en PJ de la discussion mais celui-ci fait 7Mo et ne passe donc pas la limite des 2Mo

    voici un lien
    https://amanta.kroqi.fr/shared/#/fil...fdb207189b3190

    Ne sachant pas si l'administration du forum autorise les liens externes...

    sinon voici ma macro :

    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
    Sub change_etabl()
    '
    ' change_etabl Macro
    '
     
    '
        Application.Calculation = xlManual
        Worksheets("Base").Cells.Replace _
            What:=Worksheets("ref").Range("C11").Value, _
            Replacement:=Worksheets("ref").Range("C10").Value, _
            LookAt:=xlPart
        Worksheets("TDB").Cells.Replace _
            What:=Worksheets("ref").Range("C11").Value, _
            Replacement:=Worksheets("ref").Range("C10").Value, _
            LookAt:=xlPart
        Worksheets("TDB").Cells.Replace _
            What:=Worksheets("ref").Range("D11").Value, _
            Replacement:=Worksheets("ref").Range("D10").Value, _
            LookAt:=xlPart
        Sheets("ref").Select
        Range("C10").Select
        Selection.Copy
        Range("C11").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("D10").Select
        Application.CutCopyMode = False
        Selection.Copy
        Range("D11").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Sheets("TDB").Select
        ActiveSheet.Range("$A$4:$AF$255").AutoFilter Field:=1, Criteria1:="1"
        Application.Calculation = xlAutomatic
        Range("F2").Select
     
    End Sub

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 246
    Par défaut
    j'espère que ton document ne contient pas de données identifiables de ton entreprise sinon supprime le lien tout de suite

  6. #6
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Septembre 2022
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2022
    Messages : 7
    Par défaut lien désactivé
    Citation Envoyé par jurassic pork Voir le message
    j'espère que ton document ne contient pas de données identifiables de ton entreprise sinon supprime le lien tout de suite

    En cherchant bien, si un peu...
    J'ai désactivé le lien

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 246
    Par défaut
    Je ne suis pas spécialiste d'Excel mais mettre dans des milliers de formules le nom d'un classeur externe en dur ce n'est pas la panacée. Les spécialistes vont sans doute t'aiguiller vers une autre méthode pour utiliser des données externes. Et quand il y a des formules qui se répètent sur chaque ligne il faut voir aussi du côté des formules matricielles.

Discussions similaires

  1. Temps de calcul pour la fonction cos
    Par nexusflame dans le forum Débuter
    Réponses: 5
    Dernier message: 22/09/2010, 21h35
  2. Meilleur fonction pour mesurer le temps de calcul?
    Par thtghgh dans le forum MATLAB
    Réponses: 11
    Dernier message: 02/06/2009, 18h30
  3. optimisation d'une fonction, diminution temps de calcul
    Par anthonystaltaro dans le forum Général Python
    Réponses: 4
    Dernier message: 20/05/2009, 09h18
  4. [Débutant] Fonction de Bessel, temps de calcul
    Par yannou486 dans le forum MATLAB
    Réponses: 1
    Dernier message: 08/05/2008, 09h27
  5. Mesurer le temps de calcul des fonctions
    Par dzada dans le forum Caml
    Réponses: 2
    Dernier message: 12/03/2007, 19h54

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