Ma macro ne fonctionne pas!!

Ice

XLDnaute Nouveau
Hello le forum


Voici ma macro mais elle ne fonctionnepas correctement. Quelqu un pourrait il m aider.

Mon but est de copier seulement les feuille du classeur 'miseajour' dans le classeur 'Copie de EVS' mais uniquement celle qui porte le meme nom.



Sub CopyFeuilles()
Dim i As Byte
Dim j As Byte
Application.DisplayAlerts = True
For j = 1 To ActiveWorkbook.Worksheets.Count
If ActiveWorkbook.Sheets(j).Name = Workbooks('Copie de Evs.xls').Sheets(j).Name Then
Windows('Copie de EVS.xls').Activate
Sheets(j).Delete
Windows('miseajour.xls').Activate
Sheets(j).Copy Before:=Workbooks('Copie de EVS.xls').Sheets('1_agent')
Windows('miseajour.xls').Activate
End If
Next j
End Sub


Merci pour votre aide


Fabrice
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

dans ta macro en fait telle que tu l'as écrite il faut que tes feuilles qui portent le même nom aient également la même position ou le même numéro.

Essaies peut-être ceci

Sub CopyFeuilles()
Dim i As Byte
Dim j As Byte, z as Byte
Application.DisplayAlerts = True
For j = 1 To ActiveWorkbook.Worksheets.Count
for z = 1 to Workbooks('Copie de Evs.xls').Worksheets.Count
If ActiveWorkbook.Sheets(j).Name = Workbooks('Copie de Evs.xls').Sheets(z).Name Then
Windows('Copie de EVS.xls').Activate
Sheets(z).Delete
Windows('miseajour.xls').Activate
Sheets(j).Copy Before:=Workbooks('Copie de EVS.xls').Sheets('1_agent')
Windows('miseajour.xls').Activate
exit for
End If
Next z
Next j
End Sub

Bon courage
 

Ti_

Nous a quitté
Repose en paix
essaie comme ceci, ça devrait aller mieux :

Sub CopyFeuilles()
'Ti
Dim CopieWbk As Workbook
Dim WsS As Worksheet, WsC As Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Set CopieWbk = Workbooks('Copie de Evs.xls')
'mieux vaut être prudent !
If ActiveWorkbook.Name = CopieWbk.Name Then Exit Sub
For Each WsS In ActiveWorkbook.Worksheets
Set WsC = Nothing
Set WsC = CopieWbk.Worksheets(WsS.Name)
If Not WsC Is Nothing Then
WsC.Delete
WsS.Copy Before:=CopieWbk.Sheets('1_agent')
End If
Next WsS
Application.DisplayAlerts = True
End Sub
 

Ice

XLDnaute Nouveau
Hello Ti

Merci pour ta correction!

Je ne suis pas un pro comme tu as pu le voir ! :whistle:

Juste une question ! faut ilque les feuille soit dans la meme position dans les deux classeurs comme tu me l as fait remarquer precedement ?


merci encore

Fabrice
 

Discussions similaires

Réponses
12
Affichages
712
Réponses
8
Affichages
679

Statistiques des forums

Discussions
312 394
Messages
2 088 020
Membres
103 702
dernier inscrit
Greedyyy3317