Problème avec la fonction ActiveSheet.Paste

Bonjour,

J'utilise depuis deux ans un code de copier/coller utilisant VBA. Ce code a toujours fonctionné jusqu'à hier sans raison apparente.

Since 2019 this code worked well until yesterday. This is te part of my code where the problem happend.

If ind > 5 Then 'Pour éviter de copier l'entête du tableau

splagePrec = "A" + Trim(CStr(ind - 1)) & ":M" & Trim(CStr(ind - 1))

Range(splagePrec).Select

Selection.Copy

splage = "A" + Trim(CStr(ind))

Range(splage).Select

ActiveSheet.Paste

End If

Chaque partie du code fonctionne parfaitement jusqu'à l'instruction ActiveSheet.Paste.

La fonction met plus de 15 minutes pour s'exécuter et je suis obligé de mettre fin à la tâche.

J'ai testé ce code sur du Windows 11/Excel 2019 et sur du Windows 10/Excel 2016. Le résultat est similaire alors qu'il avait été créé sur Excel 2016 et s'exécutait parfaitement sur Excel 2019.

Je ne comprends pas ce qui est arrivé

Merci d'avance pour n'importe quelle aide

Hello,

Effectivement chez moi ça fonctionne bien.

Envoi un fichier exemple stp

Bonsoir,
Essaie ainsi, pour le principe :

If ind > 5 Then
    Set Rng = Cells(ind - 1, 1).Resize(, 13)
    Rng.Value = Rng.Value
End If

Sinon, comme demandé par Rag02700, joins un petit fichier.
Cdlt.

Voici mon fichier complet.

Le problème est dans la fonction Addline() . Cette fonction duplique simplement la dernière ligne pour en créer une nouvelle en ajoutant un numéro et en recopiant des formules sur la ligne précédente.

C'est au niveau de la ligne suivante que se situe le problème, ça tourne sur cette instruction pendant plus de 15 min

35taskmanager-v4.xlsm (171.21 Ko)

:

Range("A" & ind - 1 & ":K" & ind - 1).Copy Destination:=Range("A" & ind)

J'ai finalement remplacé les 5 lignes que je vous ai envoyées par la seule ligne ci-dessus i.e j'ai enlevé la fonction ActiveSheet.Paste.
Le code est plus simple mais le problème demeure.

Bonsoir,
Tu sais que les formules, mises en forme, les listes déroulantes, MFC, sont automatiquement reproduites lors d'un ajout de ligne(s) dans un tableau structuré ?
Sinon, pas pu tester la procédure "Addline," car elle bugge et oblige un redémarrage d'Excel.
Pour ajouter une ligne dans un tableau structuré, il suffit (exemple) de :

Sub InsertRowInTable()
Dim lo As ListObject, lr As ListRow
    Set lo = Range("Tab_TaskList").ListObject
    Set lr = lo.ListRows.Add
    'etc...
End Sub

Cdlt.

Merci beaucoup

Effectivement la recopie des lignes copie les formules mais si tu as bien vu l'entête de mon code, je l'ai écrit en 2010 et en ce moment il y vait quelques de temps en temps dans la recopie des formules. C'est donc la raison pour laquelle j'ai essayé par le code une méthode presque manuelle pour faire cette recopie.
Après je n'ai plus changé. le problème est que ce code (écrit sans grande rigueur je reconnais) a toujours fonctionné et ça c'est mis à dysfonctionner comme ça depuis à peine 3 jours. Le bug que tu as constaté et qui oblige à redémarrer Excel se produit exactement à la ligne qui copie/colle la ligne précédente. Avec ActiveSheet.paste et puis avec le nouveau code qui n'utilise pas cette fonction. C'est très étrange.

Re,
Regarde mon premier message.
Cdlt.

J'ai regardé votre premier message mais j'avoue ne pas avoir bien compris ce que ces 2 lignes font exactement surtout la deuxième ligne. J'ai néanmoins remplacé mon code de copie afin de voir l'effet. Le code s'exécute sans bug mais pas de recopie de ligne.

Set Rng = Cells(ind - 1, 1).Resize(, 13)

Rng.Value = Rng.Value

Bonjour,
Je revois ton fichier aujourdh'ui.
Cdlt.

Re,
A tester !...
Cdlt.

67taskmanager-v5.xlsm (66.11 Ko)

Bonjour Jean Eric,

Merci beaucoup d'avoir regardé mon fichier. J'ai testé avec mon Laptop pro. Il y a beaucoup d'amélioration mais une certaine lenteur persiste.

- Premier essai d'ajout de ligne = 16,47 secondes

- 2 ème test à la suite = 26,41 secondes (soit 16.47s + 9,94s)

- Au total pour créer 5 lignes de suite, cela a pris 48.24 secondes.

Je vais ressayer ce soir avec mon PC perso et je vous tiendrai au courant.

Encore merci! Le code est très propre par rapport au mien.

Bonjour Jean-Eric,

J'ai testé sur mon Labtop personnel et ça marche très bien. Probablement nos portables professionnels doivent avoir des protections supplémentaires contre les macros (Guerre Russir-Ukraine probablement)

Encore merci et bonne soirée

Bonjour,
Merci de ce retour.
Cdlt.

Rechercher des sujets similaires à "probleme fonction activesheet paste"