Bonjour à tous,
Je suis novice dans le développement et je dois créer une macro qui va chercher des informations dans un autre fichier sans l'ouvrir. En cherchant sur ce site, j'ai trouvé beaucoup d'informations intéressante et j'en suis arrivé à cela :
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 Private Sub cmdValider_Click() Dim Chemin_Fichier_Modele As String, Chemin_MOAP As String, Chemin_Complet_MOAP As String ' Chemin du Fichier MOAP Chemin_Complet_MOAP = TextBoxMOAP.Text Chemin_MOAP = TextNameMOAP.Text Chemin_Fichier_Modele = ThisWorkbook.Name ThisWorkbook.Worksheets("Suivi").Range("B1").Value = Chemin_Complet_MOAP ' Vérifie si un fichier a été choisie If TextBoxMOAP.Text = "" Then MsgBox "Choisissez un fichier Excel (xls ou xlsm)" TextBoxMOAP.SetFocus Else ' Désactive le mise à jour de l'écran Application.ScreenUpdating = False Application.DisplayStatusBar = True Application.StatusBar = "En cours..." DoEvents Dim Cn As ADODB.Connection Dim Fichier As String Dim NomFeuille As String, texte_SQL As String Dim Rst As ADODB.Recordset 'Définit le classeur fermé servant de base de données Fichier = "C:\Users\E51973\Desktop\MED-FML-2010-000129.xlsx" 'Nom de la feuille dans le classeur fermé NomFeuille = "MED-FML-2010-000129" Set Cn = New ADODB.Connection '--- Connection --- With Cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _ & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;""" .Open End With ' Montant décidés de l'année en cours Range("B23").FormulaR1C1 = "=SUM('MED-FML-2010-000129.xlsx'!R10C46:R1500C46)/1000" Cn.Close Set Cn = Nothing End If End Sub
En fait, dans excel j'ai créé une boite de dialogue sur lequel je charge un fichier et qui ensuite est censé me modifier une cellule dans mon fichier de base.
Cependant cela marche que si j'ouvre le deuxième fichier. Pourquoi cela ?
C'est assez gênant pour mon application.
Je vous remercie d'avance pour votre aide.
Salutations,
Partager