Bonsoir je voudrais que peu importe le nom des feuilles la macro tienne compte simplement des attributions de bases "Feuil1" etc etc
Merci
Donc à la place de "p1", "p2" mettre Feuil1 et Feuil2
Merci
Merci
Donc à la place de "p1", "p2" mettre Feuil1 et Feuil2
Merci
Code:
Option Explicit
Sub export()
Dim NbLg As Long
Dim WsSource As Worksheet
Dim Wb As Workbook
Dim n As Long
Dim Nom As String
Dim x As Integer
On Error Resume Next
Windows("export.xls").Activate
On Error GoTo 0
If Err.Number <> 0 Then
MsgBox "Le fichier Liste est fermé, veuillez l'ouvrir", vbCritical
Exit Sub
End If
Nom = "Liste.xls"
For x = 1 To Workbooks.Count
If Workbooks(x).Name = Nom Then Exit For
Next x
If x > Workbooks.Count Then
Nom = OuvreFichier
End If
If Nom = "" Then Exit Sub
Set Wb = Workbooks(Mid(Nom, InStrRev(Nom, "\", -1) + 1))
With Application
.ScreenUpdating = False
.DisplayAlerts = False
End With
With Wb
On Error Resume Next
.Sheets("Fichier final").Delete
.Sheets("Fichier final").Delete
On Error GoTo 0
' Copier toutes les données sur une feuille provisoire
Application.DisplayAlerts = True
.Sheets.Add.Name = "Fichier final"
.Sheets("P1").Rows(5).Copy .Sheets("Fichier final").Range("A1")
'.Sheets("Fichier Final").Rows(1).Interior.ColorIndex = 40
For Each WsSource In .Sheets(Array("p1", "p2"))
'If WsSource.Range("A2") <> "" Then
WsSource.Range("A6:AB" & WsSource.Range("A" & Rows.Count).End(xlUp).Row).Copy _
Destination:=.Sheets("Fichier final").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
'End If
Next WsSource
End With