Copier coller tres lent

Bonjour,

Merci à tous de m'aider :)
j'ai une page excel comportant 9000 colonnes
j'ai rempli la ligne16 pour chaque cellule par une formule différente (avec vba )
exemple
B16=A16/5+3
C16=A16*17+25-(A16-1)/4
etc... jusqu'à la 9000eme colonne.

cela fonctionne bien et rapidement
chaque formule fait référence à une donnée sur la même ligne
pour être plus clair :
en colonne A j'ai une donnée, exemple
A16 on a 54
A17 on a 29
etc... et ceci sur 3000 lignes
les données en colonne A sont indépendantes les unes des autres
'ici ce sont des exemples sans rapport avec les véritables formules un peu plus complexes...

pour étendre les calculs de la ligne16 aux 3000 lignes,

je sélectionne les 9000 cellules de la ligne 16 contenant les formules,
puis je fais 'copier'
puis je sélectionne les cellules de mèmes colonnes sur les 3000 lignes
puis je fais coller.

durée estimée du copier coller = 3JOURS!
j'ai fais la même chose en réduisant à 100 lignes de coller => plusieurs heures....

j'ai fais un vba pour copier ligne par ligne 3000 fois = 3 jours environ aussi.
je suis obligé de garder cette structures car les éléments de la colonne A vont varier et pour chaque fois , je scanne les résultats sur les 9000 colonnes pour trouver ceux qui conviennent.

il y a t il une solution pour éviter cette lenteur ?

merci de votre aide.

j'ai un I7 avec 6 GO de RAM, quand je fais cela, aucun autre programme ne tourne sur l'ordi
j'ai un office 2016

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Arrêter les calculs et l'affichage avant le copier/coller et les remettre après
    1. Merci,
      mais comment arrêter le calcul et l'affichage?
      1. Avec VBA :
          Application.Calculation = xlCalculationManual
          Application.ScreenUpdating = False
          ' Copier / Coller
          ' ... 
          Application.Calculation = xlCalculationAutomatic
          Application.ScreenUpdating = True
        
    2. Super :)
      je connais Application.ScreenUpdating
      je ne connaissais pas : Application.Calculation = xlCalculationAutomatic
      je vais essayer et reviendrai donner le résultat.

      et encore MERCI.
      1. 3 heures au lieu de 3 jours !
        Calculation est efficace pour éviter les multiples calculs intermédiaires inutiles et chronophage.
        ScreenUpdating a eu peu d'influence.
        Merci encore
        Cordialement
        Claude