Optimisation de code [VBA] - VB/VBA/VBS - Programmation
MarshPosté le 07-09-2012 à 15:53:38
Bonjour, Je suis novice en VBA, mais j'ai des bases en programmation. Pour la mise en contexte, je souhaite prendre des données d'un onglet, et les transférer dans un autre onglet tout en les réorganisant. J'ai créé une macro qui scan dans une plage voulu les données à copier, puis qui copie les cellules sélectionnées dans l'autre onglet. De plus, lorsque je réexécute le code, les données ayant été déplacé lors de la première exécution sont toujours présentent, et celle de l'exécution actuelle s'y rajoute... je dois donc supprimer les données une par une avant chaque exécution.
Le problème que j'ai est que lorsque j'exécute le code, le temps d'exécution est d'au moins 30secondes... Est ce que il y aurait moyen d'optimiser mon code pour gagner en temps d'exécution ???
Je ne sais pas si j'ai été bien claire, mais si quelqu'un arrive à me répondre merci d'avance !!!
Code :
Public Sub FindManagementPFS()
Dim Trouve As Range
Dim Adresse1 As String
Dim domaine As String
Dim ColonneCopie As Range
Dim MaLigne As Variant
Dim MaPlage As Range
Dim LaPlage As Range
'On sélectionne la colonne domaine de la phase ciblée
Set MaPlage = Range("PlageDomainePFS" )
'On sélectionne le domaine recherché
domaine = "Management"
'On associe le fait de trouver le domaine recherché à une variable
Set Trouve = MaPlage.Find(domaine)
'On initialise le compteur qui nous permettra d'insérer les lignes au bon endroit
ComptMan = 0
If Not Trouve Is Nothing Then
Adresse1 = Trouve.Address
Do
'On sélectionne l'onglet source
With Sheets("DS PFS" )
'On sélecionne les 3 cellules que l'on veut copier
Marsh Posté le 07-09-2012 à 15:53:38
Bonjour,
Je suis novice en VBA, mais j'ai des bases en programmation.
Pour la mise en contexte, je souhaite prendre des données d'un onglet, et les transférer dans un autre onglet tout en les réorganisant.
J'ai créé une macro qui scan dans une plage voulu les données à copier, puis qui copie les cellules sélectionnées dans l'autre onglet.
De plus, lorsque je réexécute le code, les données ayant été déplacé lors de la première exécution sont toujours présentent, et celle de l'exécution actuelle s'y rajoute... je dois donc supprimer les données une par une avant chaque exécution.
Le problème que j'ai est que lorsque j'exécute le code, le temps d'exécution est d'au moins 30secondes...
Est ce que il y aurait moyen d'optimiser mon code pour gagner en temps d'exécution ???
Je ne sais pas si j'ai été bien claire, mais si quelqu'un arrive à me répondre merci d'avance !!!
Message édité par bat001 le 07-09-2012 à 15:56:16