Copie sur le mauvais classeur

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

P

Pierre

Guest
Bonsoir toutes et tous,

J'ai un petite macro qui me sert à copier une partie d'une feuille sur un modèle excel. Mais lorsque plusieurs classeurs sont ouverts simultanément, la macro recopie sur le premier classeur suivant et non sur le modèle qui a été ouvert. Quelle modification dois-je apporter au code pour m'assurer que la copie sera toujours faite sur le fichier .xlt?
Voici le code:

Sub Publication()
Application.Goto Reference:="R1C38"
Range("AM1:BT37").Select
Workbooks.Add Template:= _
"C:\Program Files\Microsoft Office\Modèles\Horaire.xlt"
ActiveWindow.ActivateNext
Selection.Copy
ActiveWindow.ActivateNext
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A1").Select
End Sub

J'imagine que c'est ActivateNext qui me crée ma difficulté, mais que mettre à la place?


Déjà grand merci.

Pierre
 
Bonjour a tous

Ton activewindows.activenext, active la prochaine fenêtre active, mais celle si n'est pas nécessairement Horaire.xlt, donc modifie ton code comme suite


Sub Publication()
Application.Goto Reference:="R1C38"
Range("AM1:BT37").Select
Workbooks.Add Template:= _
"C:\Program Files\Microsoft Office\Modèles\Horaire.xlt"
Wokbooks("NOM DU FICHIER DE DEPART").Activate
Selection.Copy
Wokbooks("Horaires.xlt").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A1").Select
End Sub


Bonne journée

@Christophe@
 
Grand merci à vous deux.

J'ai finalement repris le code de @CHRISTOPHE@ en modifiant juste une ligne: Wokbooks("Horaires.xlt").Activate ne répondait pas je lui ai substitué Windows ("Horaire 1").Activate qui semble marcher.

Milles remerciements.


Pierre
 
Re-bonjour Pierre et Christophe,

Je n'aime pas trop la fonction Windows...Activate.

Mais apparement, une erreur s'était glissé dans les code que Christophe et moi t'avons indiqués.

Il s'agissait de WorkBooks, et non Wokbooks... Mea Culpa

Si "Horaire 1" est une feuille, et que tu lance ta macro alors qu'une autre feuille du fichier "Horaires.xlt" est activée, c'est sur cette feuille là que la macro se déroulera...

D'où l'intérêt (peut-être), d'écrire :

Workbooks("Horaires.xlt").Worksheets("Horaires1").Activate


A toi de voir, et de tester...

Courage,

@+

William
 
Re salut,
Pour le Wokbooks, j'avais corrigé. Ne pas connaître VBA n'empêche pas de connaître l'anglais, et comme nous ne parlons pas de cuisine au Wok...😱)))
Par contre Workbooks("Horaires.xlt").Worksheets("Horaires1").Activate
ne fonctionne pas non plus après adaptation.
Il est vrai que le modèle Horaire.xlt, lorsqu'il est ouvert, se nomme automatiquement Horaire 1, la feuille étant le nom par défaut. D'où mon intérrogation: Dois-je laisser Horaire.xlt dans la ligne??

En tout cas grand merci pour votre intérêt.


Pierre
 
Bon, s'il n'y a qu'une seuille feuille dans Horaires.xlt, Il est effectivement possible - sans risque - de faire tourner la macro avec la fonction Windows....Activate.

Il faut cependant être certain qu'aucune autre feuille ne sera créée dans le fichier...

Mais, je viens de voir une dernière boulette : il y a apparemment un espace entre Horaire et 1, dont je n'avais pas tenu compte...

A Bon entendeur...


@+

William
 
- 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
10
Affichages
655
Réponses
18
Affichages
424
Réponses
2
Affichages
345
Réponses
17
Affichages
1 K
  • Question Question
Microsoft 365 Erreur de format
Réponses
5
Affichages
524
Retour