Bonjour la Communauté,
Je me heurte un petit probleme de macro. J'ai écris une macro qui me permet de copier dans un onglet SYNTHESE les contenus d'une plage définis dans un grand nombre d'onglets. La macro fonctionne en copiant les valeur ET formules, hors les formules de ne sont plus adaptés dans cette onglet. Je cherche a modifier le paste par PasteSpecial dans la ligne de code " 'Worksheets("SYNTHESE").Range("C" & derniereLigneVide & ":C" & derniereLigneVide + 339 - 18) = Sheets(i).Name"
mais cela génère une erreur et je ne sais pas déterminer sont origine
Voici mon code:
Sub Summary_Click2()
Dim Wb As Workbook
Dim i As Integer
Dim NbSheet As Integer
Dim derniereLigneVide As Long
Dim derniereLigneData As Integer
Dim nbfeuilles As Long
Dim selectSh As Boolean
selectSh = False
derniereLigneData = 0
Set Wb = ActiveWorkbook
NbSheet = Wb.Sheets.Count
derniereLigneVide = Wb.Sheets("SYNTHESE").Cells(Rows.Count, 3).End(xlUp).Row + 1
For i = 1 To NbSheet
If Sheets(i).Name = " ETAGE -05 H" Then
selectSh = True
End If
If selectSh = True Then
Sheets(i).Activate
Sheets(i).Range("D18:J339").Copy Worksheets("SYNTHESE").Range("D" & derniereLigneVide)
Worksheets("SYNTHESE").Range("C" & derniereLigneVide).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
'Worksheets("SYNTHESE").Range("C" & derniereLigneVide & ":C" & derniereLigneVide + 339 - 18) = Sheets(i).Name ' cette commande fonction en paste value
derniereLigneVide = Wb.Sheets("SYNTHESE").Cells(Rows.Count, 3).End(xlUp).Row + 2
End If
If Sheets(i).Name = " ETAGE 18" Then
selectSh = False
End If
Next i
MsgBox "IMPORTATION EFFECTUER"
End Sub
Une bonne âme pourrais m'éclairer sur mon petit problème?
Je vous remercis par avance.
Dany
Je me heurte un petit probleme de macro. J'ai écris une macro qui me permet de copier dans un onglet SYNTHESE les contenus d'une plage définis dans un grand nombre d'onglets. La macro fonctionne en copiant les valeur ET formules, hors les formules de ne sont plus adaptés dans cette onglet. Je cherche a modifier le paste par PasteSpecial dans la ligne de code " 'Worksheets("SYNTHESE").Range("C" & derniereLigneVide & ":C" & derniereLigneVide + 339 - 18) = Sheets(i).Name"
mais cela génère une erreur et je ne sais pas déterminer sont origine
Voici mon code:
Sub Summary_Click2()
Dim Wb As Workbook
Dim i As Integer
Dim NbSheet As Integer
Dim derniereLigneVide As Long
Dim derniereLigneData As Integer
Dim nbfeuilles As Long
Dim selectSh As Boolean
selectSh = False
derniereLigneData = 0
Set Wb = ActiveWorkbook
NbSheet = Wb.Sheets.Count
derniereLigneVide = Wb.Sheets("SYNTHESE").Cells(Rows.Count, 3).End(xlUp).Row + 1
For i = 1 To NbSheet
If Sheets(i).Name = " ETAGE -05 H" Then
selectSh = True
End If
If selectSh = True Then
Sheets(i).Activate
Sheets(i).Range("D18:J339").Copy Worksheets("SYNTHESE").Range("D" & derniereLigneVide)
Worksheets("SYNTHESE").Range("C" & derniereLigneVide).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
'Worksheets("SYNTHESE").Range("C" & derniereLigneVide & ":C" & derniereLigneVide + 339 - 18) = Sheets(i).Name ' cette commande fonction en paste value
derniereLigneVide = Wb.Sheets("SYNTHESE").Cells(Rows.Count, 3).End(xlUp).Row + 2
End If
If Sheets(i).Name = " ETAGE 18" Then
selectSh = False
End If
Next i
MsgBox "IMPORTATION EFFECTUER"
End Sub
Une bonne âme pourrais m'éclairer sur mon petit problème?
Je vous remercis par avance.
Dany