Bonjour,
j'utilise un programme en VBA pour recopier des formules toutes simples, pour après une fois terminé compter les doublons les plus sortis,
ci-dessous une image de mon tableau et le code qui fonctionne très bien sur une petite plage, mais qui est trop long en exécution pour ce que je veux faire,
je l'ai lancé hier soir avec un pas de 10, et arrêté ce matin,
puis j'ai modifié le pas de 10 en 1 ce matin, et arrêté à l'instant,
le problème est le suivant :
une colonne de 184 756 lignes qui contiennent une formule type en A22 (pour information les lettres sont des références de colonnes),je copie la colonne sur la droite, une première fois en formule, puis une deuxième fois en tant que valeur pour gagner de la mémoire,
Code : Sélectionner tout - Visualiser dans une fenêtre à part =A1&A2&A3&A4&A5&A6&A7&A8&A9&A10
puis je recommence de gauche à droite pour un total de 14 484 colonnes.
y-a-t-il une autre solution pour ce fichier trop grand ?
ou bien dois-je le scinder en plusieurs éléments ?
merci pour votre aide.
Pièce jointe 503196
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Sub CopieFormules() With Application .DisplayAlerts = False .ScreenUpdating = False .Interactive = False End With Sheets("AscDiz").Select Dim compteur As Long Dim i As Long i = 1 For compteur = 1 To 184756 Range("A22:A184777").Copy Range(Cells(22, 2), Cells(22, 2 + i)).PasteSpecial Paste:=xlPasteFormulas Range(Cells(22, 2), Cells(22, 2 + i)).Copy Range(Cells(22, 2), Cells(22, 2 + i)).PasteSpecial Paste:=xlPasteValues i = i + 1 Next compteur Application.CutCopyMode = False Range("A1").Select With Application .DisplayAlerts = True .ScreenUpdating = True .Interactive = True End With End Sub
Partager