Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Effacement problématique avec la fonction INDEX

job75

XLDnaute Barbatruc
Bonjour à tous,

Oui Laetitia ton fichier du post #58 ne pose plus de problème pour l'effacement de la ligne 3.

Qu'as-tu donc fait de particulier ? Probablement rien, alors le mystère s'épaissit !

A+
 

pierrejean

XLDnaute Barbatruc
Re
Interloqué !!!!
Avec le fichier de Laetitia
Tout est instantané
Je pense qu'Excel, par précaution, enregistre des infos (ou s'astreint à préserver des zones mémoire) en vue d'une éventuelle récupération
En effet ,après plusieurs manips ça se gâte généralement
Ici la quantité de mémoire utilisée est probablement enorme
 

Staple1600

XLDnaute Barbatruc
Bonsoir la compagnie des BVA* testeurs

Ci-dessous PC du taf
AMD PRO A8-8650B R7, 10 Compute Cores 4C+6G 3.20 Ghz
RAM: 8Go (6.95 Go utilisable)
W7 Pro 64 bits | Excel Pro 2010 32 bits

Test en prenant comme base le fichier de pierrejean (post#41)
1ere éxecution (fichier original: *.xlsm)
16000
Durée validation => 984,19 s

J'enregistre sous le fichier de Pierrejean en Fichier *.xlsb
et j'ajoute (voir * dans les commentaires de la macro plus bas)
16000 !!!
1ere éxecution
Durée validation => 0,05 s
2ième exécution
Durée validation => 0,06 s

VB:
Sub Test_validationZ() 
Dim n%, t 
n = Val(InputBox("Nombre de cellules à valider sur G3:WQP3 :", "Test validation")) 
If n < 1 Then Exit Sub 
t = Timer 
Application.ScreenUpdating = False  '*: <=ajout
[G3].Resize(, n).Formula = "=INDEX($B3:$C8002,1+INT((COLUMN()-7)/2),1+MOD(COLUMN()-7,2))" 
'*=>ajout .Formula
Debug.Print "Durée validation => " & Format(Timer - t, "0.00 \s") 
End Sub
VB:
Sub DelRng() 
Dim t 
t = Timer 
[G3:WQP3] = Empty 
Debug.Print "Durée suppression => " & Format(Timer - t, "0.00 \s") 
End Sub
Durée suppression => 0,02 s

Bilan: No comprendo ?!?

Je ne sais si c'est l'ajout ou l'enregistrer sous ou le PC mais les résultats sont bien ceux affichés dans la fenêtre Exécution.

NB: *: BVA = Bordel Vraiment Anormal !
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
re ,bonsoir tous

victor a que!!!! pas contente latiatia
plus serieusement je confirme j'ai rien fait Job a par utiliser Test_validation1 de notre ami Pierre

pour 16000 apres "vidange" avec Test_validation1 aucun souci instantane 0.001 avec Test_validation 2.25 limite rupture excel ne repond plus ect...

Pierre je viens de le faire 15 fois de suite pas de satur ...ram elle se libére bien je reste vers vers les 3 GO utilisé par contre mem proc ou memoire cache du proc pas d'outils pour le verifier

Job je te laisse le bébé pour trouver une explication
 

Staple1600

XLDnaute Barbatruc
Re

Parce que dans dans ton dernier message, tu me cites pas
J'ai donc cru que tu n'avais pu vu le message 64
J'ai alors imaginé qu'une nouvelle fois j'étais devenu invisible.
Du coup, j'étais prêt a téléphoner à un psy de garde pour canaliser l'angoisse qui commençait en poindre en dedans de moi

Plus sérieusement, j'ai cru que tu commentaserions ce que je disions dans ce message 64
 

laetitia90

XLDnaute Barbatruc
re
rassure toi mon ami j'ai bien vu bien ton dernier message.... mais j'ai eu l'impression que tu avais pas suivi le post dep
uis hier
on a pas avancé d'ailleurs on c'est pas ce qui ce passe ...........j'ai regardé les spef... de ton dernier proc pas mal du tout
dans l'avenir je vais m' orienter sur un amd quand je vois les tests du Ryzen 2700X assez impresionnant
peut etre les premiers a graver en 7 nm ils vont faire trop mal
 

Staple1600

XLDnaute Barbatruc
Re

Ce que je voudrais qu'on m'explique, c'est pourquoi quand je te teste sur l'xlsm original
je suis à 984.19 secondes
Et quand je teste sur le même fichier mais enregistré en *.xlsb
je suis à 0,05 secondes
?!??!!

NB: Malheureusement ce n'est pas mon PC perso, mais celui du boulot

PS1: J'ai jadis lu quelque part que les produits Microsoft (donc Windows et Office) fonctionnaient mieux sur des processeurs Intel.

PS2: J'ai suivi le fil, mais comme j'étais au boulot, je n'ai eu le temps que de tester le fichier de pierrejean
(pour le moment)
 

job75

XLDnaute Barbatruc
Bonjour le fil, le forum,
Ce que je voudrais qu'on m'explique, c'est pourquoi quand je te teste sur l'xlsm original
je suis à 984.19 secondes
Et quand je teste sur le même fichier mais enregistré en *.xlsb
je suis à 0,05 secondes
Chez moi la conversion en .xlsb des fichiers posts #7 ou #41 n'améliore rien du tout.

Bonne journée.
 

pierrejean

XLDnaute Barbatruc
Re

J'avais des soupçons mais je crois pouvoir les confirmer
Il semble que la fonction Columns("G3:xx3") soit en cause
Dans ce fichier après Valdation1 ( n=16000 ) en 0.05s on a validation en 4,85 s
Mais ensuite Validation1 plante
Par contre après es Validation revient à 4 s environ
 

Pièces jointes

  • Fonction INDEX (a) (2).xlsm
    253.5 KB · Affichages: 32

MJ13

XLDnaute Barbatruc
Bonjour à tous

Voici ce que j'ai pu remarqué sur le phénomène de temps qui augmente ou pas pour ce problème que Job a eu le plaisir ou pour notre malheur, de nous le faire connaître.

Télécharger les fichiers de PierreJean en #41 et de Laeticia en #58.

Ouvrir avec Ctrl+Alt+Sup le gestionnaire de tâches et observer dans le détail la taille en mémoire pris par le processus Excel.

Ouvrir les 2 fichiers l'un après l'autre, lancer la macro Test_validation et taper un chiffre de 1 000 puis de 5 000 de 8000 voire plus et observer le temps pour que la macro s’exécute et la taille du fichier pris par Excel dans les ressources. Et là, vous comprendrez pourquoi le temps peut augmenter anormalement.
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
re tous
salut michel
je viens de faire quelques test
si utilisation Test_validation
occupation on multiplie par 60x

avec test validation1 aucun pb...
je lance 10 fois le test avec 16000 meme sans effacer avec la macro es aucun pb... toujours 0.01 ou 0.02
mais si utilisation de la macro validation a un moment donné gros souci
les soupçons de l'ami pierre peut être fondé

a suivre
 

job75

XLDnaute Barbatruc
Bonjour le fil, le forum,

Il semble bien en effet que le problème vienne de COLONNES($G3:G3)-1.

Avec COLONNE()-7 comme l'a fait pierrejean je n'ai plus de problème.

J'ai reconstruit ce fichier (2) à partir d'un document vierge : exécution immédiate avec n = 16000.

Très étrange : COLONNES($G3:G3)-1 pose problème avec INDEX mais pas avec DECALER.

A+
 

Pièces jointes

  • Fonction INDEX(2).xlsm
    257.3 KB · Affichages: 32

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…