Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Remplacer nom classeur par variable

  • Initiateur de la discussion Initiateur de la discussion aubelix
  • 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 !

aubelix

XLDnaute Impliqué
Bonjour à tous les amis du Forum. 🙂

Je reviens vers vous pour de l'aide concernant une variable:
Mon problème est le suivant :

Avec le classeur en cours (NOMCLASSEUR), j'ouvre à l'aide d'une macro du un fichier en cours
et je recopie la feuil1 après la feuille BASE du classeur.
Quel la syntaxe pour mettre une variable à la place du nom du classeur.
Par avance Merci pour votre aide.
Cordialement.

Sub Ouvrir()
'Selection du fichier a ouvrir : fichier où se trouve les données à copier
'On Error Resume Next
Dim WB1 As Workbook
Set WB1 = ThisWorkbook (NOMCLASSEUR)
Fichier = Application.GetOpenFilename("Fichier XLS (*.xls),*.xls")
Workbooks.Open Filename:=Fichier
'Copie la feuille "Feuil1" et la copier dans la feuille "BD" du classeur NOMCLASSEUR.
Sheets("Feuil1").Copy After:=Workbooks(NOMCLASSEUR.xls").Sheets("BASE")

Avec le nom du classeur, qui est changeant cela donctionne...
C'est ça que je voudrais obtenir
Sheets("Feuil").Copy After:=Workbooks("NOMCLASSEUR.xls").Sheets("BASE")

Sheets("Feuil1").Copy After:=Workbooks(WB1 & ".xls").Sheets("BASE")
End Sub
 
Re : Remplacer nom classeur par variable

Bonjour camarchepas, Pierrot93 et merci pour réponses respectives. 🙂

Cel fonctionne très bien.
Une autre question:
Quelle est la syntaxe pour activer et fermer le fichier que j'ai ouvert
contenant la "Feuil1". J'ai essayé ce code, mais il ferme mon classeur.

Windows(fichier).Activate
ActiveWindow.Close
Range("A1").Select


Par avance, Merci pour votre aide.
Cordialement.
 
Re : Remplacer nom classeur par variable

Re Pierrot93.

Merci pour ta réponse.
J'aurai voulu fermer l'autre classeur. Pas le WB1

Sub Ouvrir()
On Error Resume Next
Dim WB1 As Workbook
Set WB1 = ThisWorkbook
'Selection du fichier a ouvrir : fichier où se trouve les données à copier
fichier = Application.GetOpenFilename("Fichier XLS (*.xls),*.xls")
Workbooks.Open Filename:=fichier
'Copie la feuille "Feuil" et la copier dans la feuille "BD" du classeur2
Sheets("Feuil1").Copy After:=WB1.Sheets("BASE")


ActiveWorkbook.Close True
Range("A1").Select

End Sub
Merci pour ton aide
Cordialement.
 
Re : Remplacer nom classeur par variable

Re,

Merci pour ta réponse.
C'est le classeur WB1 qui se ferme.

Comment peut-on lui dire que c'est "fichier".


Sub Ouvrir()
On Error Resume Next
Dim WB1 As Workbook
Set WB1 = ThisWorkbook
'Selection du fichier a ouvrir : fichier où se trouve les données à copier
fichier = Application.GetOpenFilename("Fichier XLS (*.xls),*.xls")
Workbooks.Open Filename:=fichier
'Copie la feuille "Feuil" et la copier dans la feuille "BD" du classeur2
Sheets("Feuil1").Copy After:=WB1.Sheets("BASE")

ActiveWorkbook.Close True

End Sub

Cordialement.
 
Re : Remplacer nom classeur par variable

Re,

initialise une autre variable lors de l'ouverture du fichier :

Code:
Dim wb2 As Workbook
fichier = Application.GetOpenFilename("Fichier XLS (*.xls),*.xls")
Set wb2 = Workbooks.Open(Filename:=fichier)
'ton code
wb2.Close True

@+
 
- 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

Discussions similaires

Réponses
15
Affichages
779
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
449
Réponses
3
Affichages
877
Réponses
5
Affichages
609
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…