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...

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    1. Sandrine
       
      Merci beaucoup ;)
      0