bonjour à tous,
Je suis un débutant sur VBA, j'essaie d'apprendre par moi même ..
j'essaie de créer un fichier base de données regroupant les différents fichiers excel que j'utilise tous les jours au boulot, afin d'essayer de faire une macro pour les ouvrir plus rapidement et ne pas aller les chercher dans les profondeur de l'explorateur.:
j'ai réussi à crée une base de données à 2 colonnes : nom du fichier et chemin du fichier.
le formulaire de saisie qui me sert à compléter ma base de donnée est celui de excel, jusqu’à là, sa marche.
ensuite j'ai crée un userform, avec une liste déroulante, qui se cale sur la liste "Nom" de ma base de donnée : on retrouve donc dans la liste déroulante "classeur1 , Classeur 2 etc .."
et un bouton permettant d'ouvrir le fichier sélectionné.
j'ai essayer mon bout de programme permettant d'ouvrir un autre fichier un indiquant son chemin, apriori il marche, lorsqu'il n'y a pas d'utilisation de variable dans le chemin
après , sa coince : je joins le code lié mon bouton "Ouvrir"
il me trouve une erreur 1004 ligne 46 "Workbooks.Open Filename:=Chemin" comme quoi la base de donnée est en lecture seul ...
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 Private Sub CommandButton1_Click() Application.ScreenUpdating = False 'on verifie que le secteur est dans la liste If Me.ComboBox1.MatchFound = False Then MsgBox Me.ComboBox1.Value & " est introuvable!", vbExclamation Me.ComboBox1.Value = "" Exit Sub End If variable = Me.ComboBox1.Value Call Travail Unload selection End Sub Sub Travail() Dim Dossier As String, Fichier As String, Chemin As String Dossier = "C:\test base donée\base de donnée" Fichier = variable Chemin = Dossier & Fichier Dim Presence As Boolean Presence = False For Each w In Workbooks If w.Name = Fichier Then Presence = True Next w If Presence = True Then Workbooks(Fichier).Activate Else Workbooks.Open Filename:=Chemin End If End Sub
et encore avec ce code la, uniquement le nom "fichier" est variable et nom le chemin .. il faudrait pouvoir trouver une combine pour qu'il soit une variable.
si quelqu'un à la patience de m'éclairer ...
merci d'avance![]()
Partager