Execution lente d'une macro

jeje

XLDnaute Nouveau
Salut à tous,

Voila, j'ai grace à ce forum, réalisé une macro qui, avec un formulaire, ajoute un enregistrement dans une feuille.
Ca rame lorsque les données des combobox et textbox sont placées dans les cases de la 1ere ligne vide.

Bref, voici le code :

Private Sub commandbutton3_click()

Dim k As Integer
k =sheets('R').Range('C60000').End(xlUp).Row + 1
With sheets('R')
'
.Range('a' & k) = TextBox2.Value
.Range('b' & k) = ComboBox2.Value
.Range('c' & k) = ComboBox1.Value
.Range('d' & k) = ComboBox3.Value
.Range('e' & k) = TextBox3.Value
.Range('f' & k) = ComboBox4.Value
.Range('g' & k) = TextBox4.Value
.Range('h' & k) = TextBox5.Value
.Range('j' & k) = TextBox6.Value
End With

sheets('R').Range('c' & k).Select

Unload UserForm6
End Sub

En clair, ce qu'il se passe, c'est que chaque données apparaissent une par une, assez lentement, sur la ligne.

Merci de votre aide
;)
 

jeje

XLDnaute Nouveau
Bonjour,
merci de la réponse, en effet cela supprime l'effet de lenteur d'apparution des données. Par contre, on sent toujours la lenteur dans le 'click' du bouton, qui reste enclenché jusqu a a la fin. Est-il possible de supprimer cela?


Pour le nombre de ligne, il varie de 0 à 1000.
et la ca rame même avec une 50aine de ligne.


merci bcp ;)
 

jeje

XLDnaute Nouveau
Je crois que j'ai trouvé !
en essayant de supprimer les données confidentielles pour le forum ;)

En fait, j'ai en feuil2, un tableau qui calcule divers couts en direct(avec plein de sommeprod dont les données sont ajoutées dans ma feuil1 via la macro qui rame ! )

Et quand je supprime la feuil2, plus rien ne rame ! !

Donc, est-ce qu'il y aurait un 'screenupdating ' adaptable a une feuille de calcul?

En gros, que ma feuil2 se mette à jour seulement apres que la macro soit terminée?

Merci
;) ;) ;)

Sinon je mettrai le fichier demain, si vous ne voyez pas de quoi je parle !
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re

essaies en mettant ceci en début de macro

With Application
.Calculation = xlManual
End With

et ceci en fin de macro peut-être avec un calculate pour relancer tous ts calculs

With Application
.Calculation = xlAutomatic
End With
 

Discussions similaires

Réponses
6
Affichages
286
Réponses
7
Affichages
356

Statistiques des forums

Discussions
312 488
Messages
2 088 847
Membres
103 972
dernier inscrit
steeter