Bonjour,
J'ai une centaine de fichier à modifier ...
Toujours le même onglet et même plage (colonne L -> AC) dans xxx fichiers à remplacer par les colonnes L -> AP du fichier source
J'ai fait un bout de code mais qui bug sur la fonction PasteSpecial, je pense car il n'y a plus de selection de la source à copier ... Je bug ...
Si vous pouvez m'aiguiller sur une autre façon peut être ?
Merci
	
	
	
	
	
		
	
		
			
		
		
	
				
			J'ai une centaine de fichier à modifier ...
Toujours le même onglet et même plage (colonne L -> AC) dans xxx fichiers à remplacer par les colonnes L -> AP du fichier source
J'ai fait un bout de code mais qui bug sur la fonction PasteSpecial, je pense car il n'y a plus de selection de la source à copier ... Je bug ...
Si vous pouvez m'aiguiller sur une autre façon peut être ?
Merci
		VB:
	
	
	Sub Preco_Change()
'Déclaration des variables
Dim myPath As String, myFile As String, mySheet As String, Plg As Range, MSG As Long
myPath = "C:\Users\xx\Desktop\Source"
'Permet de récupérer le nom des fichiers du répertoire et défini l'onglet
myFile = Dir(myPath & "\*.xlsm")
mySheet = "Gamme"
'Données fichier source
With Workbooks("Macro_PrecoFT.xlsm")
    .Sheets("Gamme").Range("L:AP").Copy
End With
Application.AskToUpdateLinks = False
'Boucle sur l'ensemble des fichiers du répertoire
Do While myFile <> ""
    'On appelle la fonction "BookOpen" définie plus bas : elle permet de vérifier si le classeur est ouvert du répertoire. Sinon, cette fonction ouvre le classeur.
    Call BookOpen(myPath & "\" & myFile)
 
    'Avec le classeur ouvert
    With Workbooks(myFile)
    
        With Sheets(mySheet)
        Columns("L:AC").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        End With
        
        Application.DisplayAlerts = False
        
        .Save
        .Close
        
    End With
    'Et on passe au suivant
    myFile = Dir()
Loop
Application.DisplayAlerts = True
 
End Sub
 
Function BookOpen(NomFich)
On Error Resume Next
    Workbooks(NomFich).Activate
    If Err <> 0 Then Workbooks.Open Filename:=NomFich
On Error GoTo 0
End Function