Copie une feuille dans une autre Vba

malouve Messages postés 63 Statut Membre -  
 malouve -
Bonjour,

je voudrais copier la première feuille d'un classeur dans un autre claaseur déjà ouvert
j'utilise ce code
mais une erreur 'out of range' m'empêche d'avancer et pourtant la syntaxe ne me parait pas contenir une erreur
pouvez vous m'aider
les 2 fichiers ont la même extension

Workbooks.Open Filename:="C:\Documents and Settings\Desktop\fichier_conf.xlsx"
Sheets("Sheet1").Select
Sheets("Sheet1").Name = "essai"
MsgBox "Voulez-vous copier le fichier config dans " & nom_feuille ' message
Sheets(essai).Copy Before:=Sheets(nom_feuille) 'erreur vient de là
Filename.Close ' fermeture

'nom_feuille c'est le nom du classeur et aussi de la première feuille du classeur dans laquel je dois faire la copie
je précise que j'ai essayé plusieurs syntaxes comme celle là mais j'ai toujours la même erreur
Workbooks(Fichier1).Sheets("Feuil1").Copy Before:=Workbooks(Fichier2).Sheets("Feuil3")

Merci c'est très urgent
Configuration: Windows XP Internet Explorer 7.0

2 réponses

  1. WYT
     
    Salut malouve,
    le problème, c'est que tu utilises mal sheets. Sheets prend en argument le numéro de la feuille par exemple: ThisWorkbook.Sheets(1).Activate. Si tu veux utiliser le nom de la feuille, la syntaxe est plutôt: Worksheets("nom_feuille").
    0
  2. malouve
     
    merci WVT pour ta réponse
    j'ai pu résoudre ce problème et utilisant ton idée
    cependant, j'ai un autre soucis qui me casse la tête depuis des lustres, et qui est survenu un jour sans modification de mon code alors qu'il marchait très bien

    dans mon classeur qui contient déjà 2 feuilles ( nom-feuille et fic conf -- tu viens de me répondre à ce post) , je crée de nouvelles feuilles contenant des graphes ( 6 au total)
    les données de ses graphes viennent de la feuille 'nom_feuille'
    lorsque les graphes sont crées la premiere feuille de graphe écrase ma feuille fic_conf au lieu de s'ajouter

    le code utilisé pour la création des graphes est le suivant;
    unction Graphe(Nbre_de_feuille As Integer)
    On Error GoTo err_graph
    Dim i As Integer
    Dim Mn As Integer
    Mn = 0
    For i = 1 To Nbre_de_feuille
        j = i - 1 // je pense que le pb vient d'ici mais je en comprends pas et même si je change ( en mettant 2) il ecrase cette fois ci 'nom_feuille'
        Worksheets.Add
        Mn = Mn + 5
        Sheets(i - j).Select
        Sheets(i - j).Activate
        Sheets(i - j).Name = "Mns_" & Mn 'Pour dire control de 5e ou la 10e mn
        AddChartObject
        
    Next i
    
    Exit Function
    err_graph:
    MsgBox Err.Description
    End Function


    Sub AddChartObject()
    Dim j As Integer
    Dim pat As Long
    pat = memopat
    
    If G_pat <= ligntot Then
     With ActiveSheet
        
        For j = 1 To 5
        
            If j = 1 Then ActiveSheet.Shapes.AddChart(Left:=50, Width:=700, Top:=20, Height:=175).Select
            If j = 2 Then ActiveSheet.Shapes.AddChart(Left:=50, Width:=700, Top:=225, Height:=175).Select
            If j = 3 Then ActiveSheet.Shapes.AddChart(Left:=50, Width:=700, Top:=425, Height:=175).Select
            If j = 4 Then ActiveSheet.Shapes.AddChart(Left:=50, Width:=700, Top:=625, Height:=175).Select
            If j = 5 Then ActiveSheet.Shapes.AddChart(Left:=50, Width:=700, Top:=825, Height:=175).Select
           
           With ActiveChart
            .ChartType = xlColumnClustered
            .SeriesCollection.NewSeries
            .SeriesCollection(1).Name = "Min" & j
            .SeriesCollection(1).Values = "=" & "DATA" & "!$B$" & pat + 5 & ":$B$" & pat + 12004 & ""
            pat = pat + 12000
            
           End With
        Next j
      
    End With
    End If
    
    
    memopat = pat
    
    End Sub


    merci de me donner un coup de main si tu y comprends quelque chose , c'est urgent et je commence à péter un plomb
    je répète que ce pb est survenu d'un coup sans aucune modification du code
    0