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

Copier un onglet variable vers un classeur nommé

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

S

spiderman75

Guest
Bonjour le forum

Je suis débutant en VBA, et dans le cadre de mon travail, j'ai crée un commandbuttonen sorte que quand je clique dessus ça copie
un onglet (que j'appelle "interface") vers un autre classeur nommé.
Mon onglet interface change sans arrêt (du fait que je fais des modifs), et je veux effectuer une copie à chaque modifications. Mon probleme est que quand je clique sur mon bouton pour effectuer une nouvelle copie vers mon classeur, eh bien, il crée une nouvelle copies, mais les precedentes sont affectées par cette copie (c'est à dire, à chaque fois que je fais une copie, un nouvel onglet est crée, mais les anciennes copies ont le meme contenu que la nouvelle)
j'espere avoir été precis, voici mon code :

Workbooks("MonClasseurSource.xls").Sheets("Synthèse").Copy before:=Workbooks("MonClasseurDestination.xls").Sheets("Feuil1")
Application.CutCopyMode = True
Nb = ActiveWorkbook.Sheets.Count
ActiveSheet.Name = "Synthèse" & Nb
 
Re : Copier un onglet variable vers un classeur nommé

Bonjour spiderman75
Je vous suggère cela :
Code:
[COLOR="DarkSlateGray"][/COLOR]Sub Toto()
[COLOR="SeaGreen"]'Les classeurs SOURCE & DESTINATION doivent être ouverts.[/COLOR]
Dim i As Long, nb As Long
   Workbooks("SOURCE.xls").Sheets("Synthèse").Copy before:=Workbooks("DESTINATION.xls").Sheets(1)
   With ActiveWorkbook
      For i = 1 To .Sheets.Count
         If .Sheets(i).Name Like "Synthèse_*" Then
            On Error Resume Next
            nb = Application.Max(nb, 0 + Right$(.Sheets(i).Name, 3))
            On Error GoTo 0
         End If
      Next i
      .ActiveSheet.Name = "Synthèse_" & Right$("00" & nb + 1, 3)
   End With
   Windows("SOURCE.xls").Activate [COLOR="SeaGreen"]'Facultatif. Retour au classeur SOURCE.[/COLOR]
End Sub
ROGER2327
 
Dernière édition:
Re : Copier un onglet variable vers un classeur nommé

Merci Roger pour ta reponse rapide
J'ai essayé ton code, mais ça ne resout pas pour autant mon probleme.
En fait j'effectue plusieurs copies, et à chaque nouvelle copie les anciennes effectuées sont affectées (en fait j'ai l'impression qu'il existe une liaison entre la copie et la source en sorte que quand on modifie la source les copies se mettent à jour automatiquement).
 
Re : Copier un onglet variable vers un classeur nommé

Oups autant pour moi,
Toutes mes excuses Roger, je n'avais pas lu tout le code
je m'en vais le tester
 
Re : Copier un onglet variable vers un classeur nommé

Je suis à nouveau de retour, malheureusement le code ne resout pas le probleme,
c'est comme ce que j'ai à mes precedents messages j'ai l'impression qu'il existe une liaison entre la copie et la source en sorte que quand on modifie la source les copies se mettent à jour automatiquement, et c'est cela que je veux eviter.
Merci quand meme de m'aider.
 
Re : Copier un onglet variable vers un classeur nommé

Re...
Comme toujours, j'ai testé le code avant de l'envoyer. Mais comme vous n'avez pas déposé de classeur représentatif de votre situation réelle je l'ai testé avec des classeurs simples, sans liaison avec d'autres par exemple, puisque vous n'avez pas parlé de liaison dans votre demande. Dans ces conditions, il m'est difficile de savoir s'"il existe une liaison entre la copie et la source" : vous seul le savez.​
ROGER2327
 
Re : Copier un onglet variable vers un classeur nommé

Oui en effet, je l'ai testé sous d'autres exemples et ça marche tres bien.
Dans mon cas la feuille que je dois copier est liée à une autre qui contient des formules, c'est peut être pour ça.
Je suis tenu par des contraintes de confidentialité, raison pour laquelle je peux pas mettre en lien mon fichier :-(
 
Re : Copier un onglet variable vers un classeur nommé

Bonjour spiderman75, ROGER2327,

La confidentialité ne réside que dans des noms, des adresses ou des téléphone, e-mail... facilement modifiable sur des fichiers exemples.

Pour le reste, les valeurs, les chiffres ne sont pas confidentiels. Cela peut-être des cacahouètes, des roupies, petits pois et autres haricots... Ce qui importe c'est d'avoir des valeurs et la structure exacte de tes fichiers.

Bon AM

Jean-Pierre
 
Re : Copier un onglet variable vers un classeur nommé

Bonjour Jean Pierre
Je comprends bien, mais je ne veux pas courir le risque, car justement c'est le contenu qui pose probleme.
Cela dit, j'ai une derniere question, est-ce qu'il serait possible de copier une feuille vers un
autre classeur mais sans les formules ?
 
Re : Copier un onglet variable vers un classeur nommé

Re...
Continuons à jouer au devin...
Essayez ça :
Code:
[COLOR="DarkSlateGray"]Sub Toto()
'Les classeurs SOURCE & DESTINATION doivent être ouverts.
Dim i As Long, nb As Long
   Workbooks("SOURCE.xls").Sheets("Synthèse").Copy before:=Workbooks("DESTINATION.xls").Sheets(1)
   With ActiveWorkbook
      For i = 1 To .Sheets.Count
         If .Sheets(i).Name Like "Synthèse_*" Then
            On Error Resume Next
            nb = Application.Max(nb, 0 + Right$(.Sheets(i).Name, 3))
            On Error GoTo 0
         End If
      Next i
      With .ActiveSheet
         .Name = "Synthèse_" & Right$("00" & nb + 1, 3)
         .Cells.Copy
         .Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
         Application.CutCopyMode = False
         .Range("A1").Select
      End With
   End With
   Windows("SOURCE.xls").Activate 'Facultatif. Retour au classeur SOURCE.
End Sub[/COLOR]
Les formules seront supprimées.​
ROGER2327
 
Re : Copier un onglet variable vers un classeur nommé

Je ne te remercierai jamais assez Roger
Un grand MERCI et très bon week-end ;-)
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…