Bonjour à tous,

Etant encore débutant avec VBA et n'ayant pas trouver de solutions à mon problème malgré les nombreuses recherches sur le forum (qui m'ont déjà pas mal aidées à avancer jusqu'à maintenant d'ailleurs), je me permet de poser ma question

J'essaye de construire une petite base de données qui va me permettre de filtrer une autre beaucoup plus grosse base de données qui est issue d'un logiciel.

Pour mon programme, j'utilise essentiellement des vlookup et des copier/coller de colonnes.

Mon problème est qu'a force de rajouter des lignes de "copier/coller" dans mon programme, je n'arrive même plus à le compiler correctement tellement ca rame d'autant que j'aimerais lui en rajouter encore...

Je pense qu'il serait judicieux d'utiliser des boucles dans mon execution mais malgré de nombreux essais, je n'arrive pas à trouver celle qui execute correctement les "copiers/collés" dont j'ai besoin et SURTOUT qui feraient accélerer le chmilblick

Voici, ci dessous, un extrait de mon programme:

Je vous remercie déjà d'avance pour l'aide que vous pourrez m'apporter

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Private Sub CommandButton12_Click()
 
' Cache des données lorsque Excel travaille
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
Application.StatusBar = "En Cours..." 'dans la barre d'etat
 
With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
 
Application.ScreenUpdating = False
 
'Copie des colonnes "pool" et "tata" depuis "pills" dans l'onglet "correlation des bases"
Worksheets("pills").Range("G1:G8000").Copy Worksheets("corrélation des bases").Range("C1")
Worksheets("pills").Range("X1:X8000").Copy Worksheets("corrélation des bases").Range("D1")
 
'Copie des colonnes "pool", "time" et " time2" depuis " site " dans l'onglet "correlation des bases"
Worksheets("site ").Range("A1:A8000").Copy Worksheets("corrélation des bases").Range("F1")
Worksheets("site ").Range("A1:A8000").Copy Worksheets("corrélation des bases").Range("AK1")
Worksheets("site ").Range("AI1:AI8000").Copy Worksheets("corrélation des bases").Range("AL1")
Worksheets("site ").Range("AG1:AG8000").Copy Worksheets("corrélation des bases").Range("AM1")
 
'Copie des colonnes "pool" et " model " depuis " model2" dans l'onglet "correlation des bases"
Worksheets("model2").Range("B1:B8300").Copy Worksheets("corrélation des bases").Range("I1")
Worksheets("model2").Range("G1:G8300").Copy Worksheets("corrélation des bases").Range("J1")
 
'Copie des colonnes " tata ", "SC1", "SC2" et " SC3" depuis " open " dans l'onglet "correlation des bases"
Worksheets("open ").Range("A1:A8000").Copy Worksheets("corrélation des bases").Range("L1")
Worksheets("open ").Range("F1:F8000").Copy Worksheets("corrélation des bases").Range("M1")
Worksheets("open ").Range("G1:G8000").Copy Worksheets("corrélation des bases").Range("N1")
Worksheets("open ").Range("E1:E8000").Copy Worksheets("corrélation des bases").Range("O1")
 
'Copie des colonnes "pool", "tata" et "sort" depuis " model2" dans l'onglet "correlation des bases"
Worksheets("model2").Range("A1:A8300").Copy Worksheets("corrélation des bases").Range("AZ1")
Worksheets("model2").Range("B1:B8300").Copy Worksheets("corrélation des bases").Range("BA1")
Worksheets("model2").Range("F1:F8300").Copy Worksheets("corrélation des bases").Range("BB1")
 
'Affichage de l'onglet "corrélation des bases"
ActiveWorkbook.Worksheets("corrélation des bases").Select
 
'Appel des macros nécessaire à la corrélation des bases
Call Correlation
 
'Affichage du tableau de bord
ActiveWorkbook.Worksheets("Tableau de bord").Select
 
With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
 
'Fin de procédure de cache
Application.ScreenUpdating = True
Application.StatusBar = oldStatusBar
 
End Sub