|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 32 ![]() |
Bonjour à tous!
J'ai une macro qui fonctionne bien mais est beaucoup trop longue.. (environ 12 secondes) Ce que je cherche à faire: 1 - Enlever les filtres actifs (sans les supprimer) 2 - Insérer une ligne à la fin du tableau qui recopie les formules de la ligne du dessus 3 - Insérer la valeur "31.12.2020" en colonne 296, 4 - Se positionner sur la colonne 2 Voici mon code : Code :
Adrien |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Code :
__________________
Cordialement. |
||
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Architecte Inscription : mai 2002 Messages : 1 057 ![]() |
Adresses directement les cellules plutôt qu'utiliser des sélections.
ActiveSheet.Cells(Row, Col) En première instruction, places et rétablis cette valeur à True en fin de processus. L'exécution se fera un un clin d'oeil. |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 32 ![]() |
Bonjour à vous et tout d'abord merci pour votre aide!
Mercatog votre code ne fonctionne pas, je n'ai pas d'erreurs mais rien ne se passe en fait. defluc j'ai ajouté les instructions puis true en fin avec succès. Cependant je n'ai pas réussi à transcrire les Selection par ActiveSheet.Cells(0, 299) = "31.12.2020" Ca me met une erreur. Adrien. |
|
|
00
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
laduche31, mon code fonctionne (à moins si tu ne l'as pas adapté).
Dans ton éditeur vba, fais une exécution pas à pas, à l'aide de F8 et regarde ce qui se passe.
__________________
Cordialement. |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 32 ![]() |
Ok je regarde à nouveau et je te redis
Merci, Adrien EDIT : J'ai compris pourquoi ça ne "marchait pas". En fait plus bas j'ai un deuxième tableau donc la ligne va s'insérer en bas du deuxième tableau. Je cherche à insérer en fin de 1er tableau, pardon de ne pas avoir précisé. Serait-il également possible d'incrémenter la valeur en colonne A? (J'ai des chiffres en colonne A : 127,128,...) En tout cas niveau rapidité c'est parfait! Merci! |
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Code :
__________________
Cordialement. |
||
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 32 ![]() |
Merci!
Cependant le débogeur me trouve une erreur là : Code :
.Rows(LastLig + 1).SpecialCells(xlConstants).ClearContents |
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Erreur au cas ou tu n'as pas de données en dur sur la ligne.
Comme ceci, ça va aller Code :
__________________
Cordialement. |
||
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 32 ![]() |
Ca ne m'insère pas de ligne cette fois-ci,
dans la colonne A deux lignes plus loins j'ai la valeur "1" qui s'insère mais rien de +plus. |
|
|
00
|
|
|
#11 | |
|
Membre chevronné
![]() Architecte Inscription : mai 2002 Messages : 1 057 ![]() |
Citation:
Essaies donc avec Code :
ActiveSheet.Cells(1, 299) = "31.12.2020" |
|
|
|
00
|
|
|
#12 |
|
Membre habitué
![]() Michael Ingénieur qualité méthodes Inscription : octobre 2010 Messages : 200 ![]() |
Bonjour,
je ne te garatie pas que ca va marcher mais tu peux toujours tester tu prends la macro que tu as cré au début juste en dessous du sub, donc en premiere ligne de ta macro, tu mets et en derniere ligne d ela macro tu mets test et dis moi quoi perso pour moi ca a deja acceleré mes macros |
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 32 ![]() |
Defluc tu as raison c'était ça le problème, ca marche parfaitement maintenant! Merci!
Redstoff j'ai également essayé ta solution et oui ca marche parfaitement! Bon à savoir d'ailleurs! Merci Mercatog je pense qu'on approchait également du but avec ta solution, merci beaucoup pour ton aide! A bientôt ! Adrien. |
|
|
00
|
|
|
#14 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Donc je suis obligé de décrire mon fichier sur lequel j'ai fais le test.
Feuille Feuil1 en ligne 2, les titres des colonnes. en ligne 3, j'ai des valeurs et formules et en A3 j'ai 1. je lance la macro, j'ai en ligne 4, en A4 j'ai 2, les formules se reportent sans les valeurs en dur.
__________________
Cordialement. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com