• Initiateur de la discussion Initiateur de la discussion nulle_en_info
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nulle_en_info

Guest
Bonjour,

Je suis actuellement étudiante et pour me perfectionner en excel j'essaie de me créer une base de données personnelle mais je ne sais pas comment faire pour ouvrir un fichier excel à partir d'un bouton de macro déjà créé...

J'ai essayé de faire :

Sub OpenFiche1()
Dim Dossier$, Sous_Dossier$, wbkFiche1$
Dossier = "C:\Bureau\Lucie\"
Sous_Dossier = "Base de données\"
wbkFiche1 = "Fiche1.xls"
Workbooks.Open (Dossier + Sous_Dossier + wbkFiche1)
End Sub

Mais il me dit qu'il ne trouve pas le dossier alors que c'est le bon chemin je ne sais pas du tout comment faire...

En attendant vos réponses, bonne journée
 
Re : Excel_macro

Bonjour nulle_en_info
Code:
[COLOR="DarkSlateGray"][B]Sub OpenFiche1()
Dim Dossier$, Sous_Dossier$, wbkFiche1$
   Dossier = "C:\Bureau\Lucie\"
   Sous_Dossier = "Base de données\"
   wbkFiche1 = "Fiche1.xls"
   Workbooks.Open [COLOR="Red"]Filename:=[/COLOR](Dossier + Sous_Dossier + wbkFiche1)
End Sub[/B][/COLOR]
peut-être ?​
ROGER2327
#3689


Lundi 2 Gidouille 137 (Saint Lucullus, amateur (Bloosday), SQ)
28 Prairial An CCXVIII
2010-W24-3T09:20:36Z
 
Re : Excel_macro

Bonjour Roger et Nulle en info,

C'était pas loin Nulle en info, (Lol) ,
Pour la concaténation de chaîne, un truc perso , je préfére employer le "&" qui permet de plus facilement ce relire par la suite , je m'explique avec un petit exemple:

msgbox "Total : " & 50 + 20 & " Euro"
msgbox "Total : " + 50 + 20 + " Euro" >> d'ailleurs comme ceci ça ne fonctionne pas erreur de type et c'est bien normal .
 
Re : Excel_macro

Bonjour à tous,
Teste la variable chemin pour vérifier sa validité
Code:
Sub OpenFiche1()
Dim Dossier$, Sous_Dossier$, wbkFiche1$,chemin$
Dossier = "C:\Bureau\Lucie\"
Sous_Dossier = "Base de données\"
wbkFiche1 = "Fiche1.xls"
chemin = Dossier + Sous_Dossier + wbkFiche1
If Dir(chemin) <> "" Then Workbooks.Open (chemin)
End Sub
A+
kjin
 
Re : Excel_macro

Merci beaucoup à tous, j'ai enfin réussi... Mais mon expérience ne s'arrete pas là...

Est il possible de copier une case précise exemple H3 dans un autre classeur pour la conserver? Et que celle ci se mette à jour automatiquement? Dois je ouvrir le deuxieme classeur forcément? Là par contre je n'ai pas du tout d'idée mais j'y travaille

Merci encore
Lucie
 
Re : Excel_macro

En fait j'aimerai si possible bien sur copier la date de mise à jour (cellule J5) de mon fichier1 dans mon tableau récapitulatif (cellule C5) du ficher2

Je pensais avoir une piste mais elle ne marche pas; voici ce que j'ai essayé :
Sub Date ()
Dim WbkFiche1 As Workbook, WbkFiche2 As Workbook
Workbooks.Open FileName:="C:\Documents and Settings\ \Bureau\Lucie\Base de données\ Fiche2.xls"
Windows("Fiche2").Visible = False
Set WbkFiche1 = Workbooks("Fiche1.xls").Worksheets("Feuille2")
Set WbkFiche2 = Workbooks("Fiche2.xls").Worksheets("Feuille3")
WbkFiche1.Worksheets("Feuille2").Range("J5") = WbkFiche2.Woksheets("Feille3").Range("C5")
Workbooks("Fiche2.xls").Close SaveChanges:=True
End Sub

Je ne sais pas du tout comment faire!!!
Merci de m'aider
 
Re : Excel_macro

Bonjour,

Date étant un mot clé réservé , mieux vaux prendre un autre nom.

Ca va tellement vite que mettre le classeur 2 en invisible ne sert pas à grand chose

En fait comme tu travailles uniquement sur une feuille , rien ne sert de faire un objet avec le classeur complet, donc , l'objet ce réduira à la feuille visée de chaque classeur.

Remet en ordre les chemins et noms de feuille si besoin avant de tester se qui suit

Sub Memorise()
'Déclaration des objets feuilles
Dim WsFiche1 As Worksheet, WsFiche2 As Worksheet
'Ouverture du classeur de sauvegarde
Workbooks.Open Filename:="C:\Documents and Settings\Lucie\Bureau\Fiche2.xls"
'Affectation de la feuil2 du classeur fiche1 à l'objet Wsfiche1
Set WsFiche1 = Workbooks("Fiche1.xls").Worksheets("Feuil2")
'Affectation de la feuil3 du classeur fiche2 à l'objet Wsfiche2
Set WsFiche2 = Workbooks("Fiche2.xls").Worksheets("Feuil3")
'Transfert de la valeur de la case C5 du classeur 1 vers la case J5 du classeur 2
WsFiche2.Range("J5") = WsFiche1.Range("C5").Value
'Fermeture et Sauvegarde du classeur 2
Workbooks("Fiche2.xls").Close SaveChanges:=True
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
449
Retour