activer le nouveau classeur créé par méthode Copy

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

D

Deedo

Guest
bonjour tout le monde!

voilà mon soucis en VBA:
ma macro génère une feuille répondant au doux nom de 'resul'
je désire copier cette feuille vers un nouveau classeur
puis demander à l'utilisateur Enregistrer dans... il saisit et hop!

mon soucis: la méthode copy , ouvre un nouveau classeur sans nom , y met ma feuille resul ... mais n'active pas ce dernier, il reste sur mon classeur d'origine.
Comment puis je faire pour activer le classeur dernièrement créé?

merci d'avance!

Deedo



ci joint ma petite procédure:

Sub export_resul()
'exporter la feuille résul vers un nouveau classeur
Dim ls_titre As String
Dim ls_filtre As String
Dim li_filtre As Integer
Dim ls_nomfic As Variant


'définir la liste des filtres de fichiers
ls_filtre = 'Fichiers Excel (*.xls),*.xls'

'affiche le filtre par défaut
li_filtre = 1

'Titre de la boite de dialogue
ls_titre = ' Export du questionnaire'

Sheets('resul').Select
Sheets('resul').Copy
'Obtenir le nom du fichier
ls_nomfic = Application.GetSaveAsFilename _
(FileFilter:=ls_filtre, _
FilterIndex:=li_filtre, _
Title:=ls_titre)

..........
 
Re:activer le nouveau classeur créé par méthode Co

Bonsoir Pascal, CAP, Deedo, le Forum

A mon avis c'est juste qu'il te manque la fin de la procédure pour utiliser correctement le 'GetSaveAsFilename'...


Option Explicit

Sub export_resul()
'exporter la feuille résul vers un nouveau classeur
Dim ls_titre As String
Dim ls_filtre As String
Dim li_filtre As Integer
Dim ls_nomfic As Variant


'définir la liste des filtres de fichiers
ls_filtre = 'Fichiers Excel (*.xls),*.xls'

'affiche le filtre par défaut
li_filtre = 1

'Titre de la boite de dialogue
ls_titre = ' Export du questionnaire'

Sheets('resul').Copy
'Obtenir le nom du fichier
ls_nomfic = Application.GetSaveAsFilename _
(FileFilter:=ls_filtre, _
FilterIndex:=li_filtre, _
Title:=ls_titre)
   
   
If ls_nomfic <> False Then'Si on Annule
&nbsp; &nbsp; &nbsp; &nbsp; ActiveWorkbook.SaveAs ls_nomfic
&nbsp; &nbsp;
End If

End Sub


Bonne Soirée
@+Thierry
 
Re:activer le nouveau classeur créé par méthode Co

Bonjour deedo, Cap, Pascal76, thierry, le forum

Si tu veux un autre nom que celui du classeur actif, il faut utiliser le paramètre InitialFilename de l'instruction GetSaveAsFilename.
Celui ci peut comprendre également le chemin
InitialFileName:='c:\\temp\\essai.xls'
proposera essai.xls dans le dossier c:\\temp quelque soit le répertoire actif, on peut même changer le lecteur

sinon tu peux également référencer ton classeur immédiatement aprés la création pour ne pas être lié au classeur actif par la suite ce qui te permettra entre les deux de faire toute opération ou sélection que tu jugeras utile.
Code:
Dim Wbs As Workbook
Sheets('resul').Copy
Set Wbs = ActiveWorkbook
ls_nomfic = 'c:\\temp\\essai.xls'
ls_nomfic = Application.GetSaveAsFilename _
(InitialFileName:=ls_nomfic, FileFilter:=ls_filtre, _
FilterIndex:=li_filtre, _
Title:=ls_titre)
If ls_nomfic <> False Then
Wbs.SaveAs ls_nomfic
End If

Cordialement, A+

Ps: Getsaveasfilename n'est qu'une boite vide qui renvoie un chemin\\nom, il ne faut pas oublier d'enregistrer effectivement le fichier derrière comme l'a trés justement souligné mon ami Thierry.

Message édité par: yeahou, à: 14/07/2005 08:02
 
Re:activer le nouveau classeur créé par méthode Co

bonjour Cap, Pascal76, thierry, Yeahou, le forum !

week end de 4 jours ... déplacement... hop de retour avec mon soucis.
donc merci pour vos solutions j'essaye ça de suite et je vous tiens au courant 🙂


/hug


Deedo
 
Re:activer le nouveau classeur créé par méthode Co

Weeeehhh!

Thierry tu avais raison...

If ls_nomfic <> False Then'Si on Annule
ActiveWorkbook.SaveAs ls_nomfic
End If


il me manquait un bout de code 😛


Merci encore pour l'aide et les astuces tout le monde 🙂 j'en prend note dans mes tablettes


Deedo
 
- 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

Réponses
3
Affichages
585
Retour