Correction de code

Résolu
Sandrine -  
 Sandrine -
Bonjour,

Mon code ne fonctionne pas correctement... Je ne comprend pas pourquoi...

Sub CreationSynthese()

' Ecriture de la ligne de titre :
Range("A1") = "COMMERCIAUX"
Range("B1") = "Raison Sociale Client"

' Mise en forme de la ligne de titre :
Range("A1:C1").Interior.Color = 13434879 '(Jaune pâle)
Range("A1:C1").Font.Bold = True

' Copie des données :
DerniereLigne = ActiveSheet.UsedRange.Rows.Count
Sheets("Sarah").Range("A2:B" & DerniereLigne).Copy
Sheets("Feuil1").Range("A2").Select
Sheets("Feuil1").Paste

Sheets("Philippe").Range("A2:B" & DerniereLigne).Copy
Sheets("Feuil1").Range("A" & ActiveSheet.UsedRange.Rows.Count + 1).Select
Sheets("Feuil1").Paste

Sheets("Salwa").Range("A2:B" & DerniereLigne).Copy
Sheets("Feuil1").Range("A" & ActiveSheet.UsedRange.Rows.Count + 1).Select
Sheets("Feuil1").Paste

Sheets("Sandrine").Range("A2:B" & DerniereLigne).Copy
Sheets("Feuil1").Range("A" & ActiveSheet.UsedRange.Rows.Count + 1).Select
Sheets("Feuil1").Paste

End Sub


Merci pour toute aide...

A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Votre probleme vient du select sur une feuille non active et de puls la variable Derniereligne n'est initialisee que sur une seule feuille

il est possible d'eviter le select, mais la c'est deja pas mal

Sub CreationSynthese()
    ' Ecriture de la ligne de titre :
    With Sheets("Feuil1")
        .Range("A1") = "COMMERCIAUX"
        .Range("B1") = "Raison Sociale Client"
        ' Mise en forme de la ligne de titre :
        .Range("A1:C1").Interior.Color = 13434879 '(Jaune pâle)
        .Range("A1:C1").Font.Bold = True
    End With
    ' Copie des données :
    TOnglets = Array("Sarah", "Philippe", "Salwa", "Sandrine")
    For N = 0 To 3
        With Sheets(TOnglets(N))
            DerniereLigne = .UsedRange.Rows.Count
            .Range("A2:B" & DerniereLigne).Copy
        End With
        With Sheets("Feuil1")
            .Range("A" & .UsedRange.Rows.Count + 1).Select
            .Paste
        End With
    Next N
End Sub
0
Sandrine
 
Merci beaucoup ;)
0