Problème copie onglet dans autre classeur avec l'extension xlsx

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 !

libellule85

XLDnaute Accro
Bonsoir le forum,

J'ai récupéré sur le site une macro de Yann-56 (que je remercie) concernant la copie d'un onglet vers un autre classeur. Celle-ci fonctionne impeccablement avec les fichiers .xls mais ne fonctionne pas avec les fichiers .xlsx (l'erreur survient quand j'ai ouvert le classeur xlsx et que je clique sur copier cette feuille !).
2012-04-21_201753.jpg

2012-04-21_201817.jpg

Quelqu'un aurait-il une idée pour que cette macro puisse fonctionner aussi bien en xls qu'en xlsx.

Ci-dessous la macro et je joins également le fichier
D'avance merci beaucoup pour votre aide

Code:
Private Sub CommandButton1_Click() ' RECHERCHE DU CLASSEUR SOURCE
Dim CLASSEUR_CHOISI As Long
Dim CLASSEUR_DE_DESTINATION As String
Select Case UserForm1.CommandButton1.Caption
Case "Feuille à Copier"
    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = False
        .Show
               For CLASSEUR_CHOISI = 1 To .SelectedItems.Count
               Workbooks.Open (.SelectedItems(CLASSEUR_CHOISI))
               Next CLASSEUR_CHOISI
    End With
 ActiveWorkbook.Saved = True ' Pour éviter le message de re-calcul des formules d'une version antérieure.
UserForm1.CommandButton1.Caption = "Copier cette Feuille"
' ICI L'ON PEUT CHOISIR LA FEUILLE A COPIER
Case "Copier cette Feuille"
ActiveWorkbook.ActiveSheet.Copy after:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
 UserForm1.CommandButton1.Caption = "Classeur de Destination"
Case "Classeur de Destination" ' RECHERCHE DU CLASSEUR DE DESTINATION
    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = False
        .Show
               For CLASSEUR_CHOISI = 1 To .SelectedItems.Count
               Workbooks.Open (.SelectedItems(CLASSEUR_CHOISI))
               CLASSEUR_DE_DESTINATION = ActiveWorkbook.FullName
               Next CLASSEUR_CHOISI
    End With
  ThisWorkbook.ActiveSheet.Copy after:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count)
           ActiveWorkbook.Save
           ActiveWorkbook.Close
           
Application.DisplayAlerts = False
ThisWorkbook.ActiveSheet.Delete ' SUPPRESSION DE LA FEUILLE PROVISOIREMENT COPIEE DANS "COPIE_FEUILLE"
Application.DisplayAlerts = True
ThisWorkbook.Saved = True

UserForm1.CommandButton1.Caption = "Mission Accomplie"
UserForm1.CommandButton1.BackColor = &HFFFF00
Workbooks.Open CLASSEUR_DE_DESTINATION
End Select
End Sub
 

Pièces jointes

Re : Problème copie onglet dans autre classeur avec l'extension xlsx

Bonjour

Comme l'indique le message on ne peut copier un onglet d'une version 2007-2010 vers un classeur de version antérieure car le nombre de lignes et de colonnes est différent.

Il faut d'abord sauvegarder le classeur en format xls, manuellement ou par macro
 
Re : Problème copie onglet dans autre classeur avec l'extension xlsx

Bonsoir chris,

Tout d'abord merci pour ta réponse, mais mon "problème" je veux copier un onglet d'un classeur xlsx vers un classeur xlsx. A noter que quand je clique sur copier cette feuille le classeur de destination n'est pas encore choisi (donc pas ouvert !).
 
Re : Problème copie onglet dans autre classeur avec l'extension xlsx

Bonjour

Le code commence par copier la feuille choisie dans le classeur contenant la macro qui est en version xls d'où l'erreur.

Il faudrait sauvegarder le classeur contenant la macro en xlsx pour que le code fonctionne dans tous les cas.
 
Re : Problème copie onglet dans autre classeur avec l'extension xlsx

Bonjour Libellule, Chris, et à ceux qui passeront par ici,
(Joli pseudo qui me fait penser aux belles images de la rivière en bas de chez moi)

La Roche sur Yon ! En tant que "voisin" frontalier de la France,
(Je parle que des vraies frontières avant la connerie de Henri Philippe Bénoni Omer Pétain
ce maréchal sénile qui a séparé la Loire-Atlantique de notre province! )

je vais regarder

Il se trouve que je suis en train de construire une appli qui a besoin d'une part de ce code.

Cependant, étant en Excel 2003, les " xlsx." ne font pas partie de mon répertoire!

J'ai une petite idée, mais je ne peux pas tester.
1) Faire une copie du contenu de ta Feuille Source.
2) Créer une nouvelle Feuille dans ton Classeur ".xlsx"
3) Y copier le contenu du Presse-papier.

A suivre après que tu aies tenté l'opération

Amicalement, et regarde bien aussi l'idée de Chris

Yann
 
Re : Problème copie onglet dans autre classeur avec l'extension xlsx

Re le joli volatile,

Mon idée laissait entendre une manipulation de VBA au-delà du stade de débutant.

Que tu aies su le faire prouve ton bon niveau de compétence dont je te félicite.

Certes il n'est pas coutume de disserter prose ou alexandrins, dans le Forum. (Comme j'en agace plus d'un)

Aussi pour faire suite à ton message privé; voici les sujets à choisir pour ton devoir de philo.🙄
1) "belles images de la rivière en bas de chez moi"
2) "La connerie de Pétain qui a séparé la Loire-Atlantique de notre province! )

Je récupère ta copie en M.P. dans le temps qu'il te sera nécessaire.🙂

Ceci n'est qu'un trait d'humour amical que tu poursuivras ou pas, mais qu'importe.

Bonne route sur ce richissime XLD, et au plaisir de te croiser à nouveau,

Yann
 
- 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
5
Affichages
272
Réponses
3
Affichages
680
Réponses
3
Affichages
589
Réponses
11
Affichages
683
Retour