Exporter onglet dans nouveau fichier (nommé comme l'onglet exporté)

Jonathan1986

XLDnaute Nouveau
Bonjour le forum, bonjour à tous,

je suis débutant en vba et voilà maintenant 2 / 3 jours que je reste sur un problème :confused: et ne m'en sort pas. J'espère que quelqu'un aura un peu de temps pour voir ce qui va pas :)

Dans mon classeur, après avoir rempli un onglet nouvellement créé, je souhaite l'exporter dans un nouveau fichier que je créé en même temps, et que le fichier ai le nom de l'onglet exporté, j'ai réussi à mettre en place un code mais il y a une erreur : " erreur 9 l'indice n'appartient pas à la sélection" le problème doit venir du nom d'onglet, et donc du nouveau fichier, que je récupère sur la feuille active du fichier source.

le code :

Sub enre()
Dim M As String
Dim Response As Byte
Dim L As String


M = Workbooks("DEVIS CERIC 1.xlsm").ActiveSheet.Range("I20").Text


Response = MsgBox(" Vous êtes sur le point d'enregistrer votre Proforma dans la base de données et dans un fichier indépendant, souhaitez-vous continuer ? ", vbCritical + vbOKCancel, T)
If Response = 1 Then

Workbooks.Add
ChDir "C:\Users\Dropbox\DEVIS"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\Dropbox\DEVIS\" & M & ".xlsx" _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Save

Workbooks("DEVIS 1.xlsm").Sheets(2).Copy After:=Workbooks(M & ".xlsm").Sheets(1)
' erreur sur la ligne ci dessus
Workbooks("DEVIS 1.xlsm").Sheets(M).Activate

MsgBox "Opération accomplie", vbInformation, T

'Si Réponse Annulation on envoie un message et on a rien fait
Else: MsgBox "Opération annulée", vbInformation, T
End If
End Sub

Merci d'avance !! :)
 
Dernière édition:

Orodreth

XLDnaute Impliqué
Re : Exporter onglet dans nouveau fichier (nommé comme l'onglet exporté)

Bonjour,

Il faut que tu modifies les variables nom_Affich et chemin dans le code suivant
Code:
    Dim WBK_Affich As Workbook
    'On référence un nouveau classeur
    Set WBK_Affich = Application.Workbooks.Add
    Dim nom_Affich As String
    'On détermine le nom du nouveau classeur
    nom_Affich = chemin & "\" & "PHP_VISU_" & _
                                CStr(Format(Date, "yyyymmdd")) & " " & _
                                CStr(Format(Time, "hh mm")) & ".xls"
                    
    'On sauvegarde le nouveau classeur au même endroit que le tableau de travail
    WBK_Affich.SaveAs nom_Affich

Après, tu travailles tes copies de feuille de cette manière:
Code:
    'On copie la feuille du planning
    WBK_Travail.Sheets("PHP_VISU").Copy After:=WBK_Affich.Sheets(1)
    Application.DisplayAlerts = False
    WBK_Affich.Sheets(1).Delete
   Application.DisplayAlerts = True

Cordialement,
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 092
Messages
2 085 227
Membres
102 826
dernier inscrit
ag amestan