Bonjour,
Je pensais être un peu meilleur que ça en VBA.... je bloque sur un code très basique ou j'aimerais renseigner une variable Worksheets avec un onglet dont le nom est une variable.
Sub RapportClassique(rapport As Workbook, original As Workbook)
Dim feuille As Worksheet
Dim FeuilOriginal As Worksheet
Dim nomprovi As String
rapport.Activate
For Each feuille In Worksheets
If testrapport(feuille.Name) = True And feuille.Visible = xlSheetVisible Then
original.Activate
Sheets("E Vierge").Copy after:=Sheets(Sheets.Count)
rapport.Activate
feuille.Activate
original.Sheets("E Vierge (2)").Name = "E" & Range("AA7")
'========================================================================
FeuilOriginal = original.Sheets("E" & Range("AA7")) '<==== Ma ligne en erreur ! grrrrrrr
'========================================================================
FeuilOriginal.Visible = xlSheetVisible
Range("A18:A" & Cells(Rows.Count, 2).End(xlUp).Row).Copy
original.Sheets(FeuilOriginal).Activate
Range("A4").PasteSpecial Paste:=xlPasteValues
feuille.Activate
Range("D18:F" & Cells(Rows.Count, 2).End(xlUp).Row).Copy
original.Sheets(FeuilOriginal).Activate
Range("B4").PasteSpecial Paste:=xlPasteValues
feuille.Activate
Range("U18:U" & Cells(Rows.Count, 2).End(xlUp).Row).Copy
original.Sheets(FeuilOriginal).Activate
Range("E4").PasteSpecial Paste:=xlPasteValues
End If
rapport.Activate
Next feuille
rapport.Close
End Sub
Lorsque je passe ma souris sur Range("AA7") j'ai bien = 1 donc je cherche un onglet "E1"
Et sur mon classeur excel j'ai bien un onglet E1 qui éxiste.
J'avoue que la je bloque pourtant j'ai tout relu 10 fois en mode pas à pas :-(
Pour les puristes: M'en voulez pas de tout ses .activate Je trouve ça plus simple pour moi que pleins de with partout ....
A+