IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E]Copier données dans une feuille créée


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Points : 448
    Points
    448
    Par défaut [VBA-E]Copier données dans une feuille créée
    Hello,

    voilà une question pour t'occuper ouskel (comme promis)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        For i = 1 To Responsivness.TextBox9
     
            Workbooks.Open CheminFichier & "\" & Responsivness.TextBox7 & "\" & _
            Responsivness.TextBox8 & ") " & NomsMois(Responsivness.TextBox8) & "\responsivness" & i
            Set FicTemp = ActiveWorkbook
            ThisWorkbook.Sheets.Add After:=ThisWorkbook.Worksheets(Worksheets.Count)
            ThisWorkbook.ActiveSheet.Name = "Copie" & i
            FicTemp.Sheets(1).Copy ThisWorkbook.Sheets("Copie" & i)
            FicTemp.Close
        Next
    Je voudrais
    1. Ajouter une feuille dans mon fichier où s'execute la macro
    2. copier les données d'une feuille d'un autre classeur
    3. fermer l'autre classeur
    là ca m'ajoute bien une feuille "Copie1" mais aussi une feuille "Feuil1 (2)" où sont copiés les données (copie1 restant vierge)

    j'ai tenté aussi de faire comme ca car je me de que le probleme vient de cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FicTemp.Sheets(1).Copy ThisWorkbook.Sheets("Copie" & i)
    donc j'ai modifié mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        For i = 1 To Responsivness.TextBox9
     
            Workbooks.Open CheminFichier & "\" & Responsivness.TextBox7 & "\" & _
            Responsivness.TextBox8 & ") " & NomsMois(Responsivness.TextBox8) & "\responsivness" & i
            Set FicTemp = ActiveWorkbook
            ThisWorkbook.Sheets.Add After:=ThisWorkbook.Worksheets(Worksheets.Count)
            ThisWorkbook.ActiveSheet.Name = "Copie" & i
            FicTemp.Sheets(1).Range(Sheets(1).Cells(1, 1), Sheets(1).Cells(65536, 256)).Copy _
            ThisWorkbook.Sheets("Copie" & i).Range(Sheets("Copie" & i).Cells(1, 1), Sheets("Copie" & i).Cells(65536, 256))
            FicTemp.Close
        Next
    mais là j'ai "l'indice n'appartient pas à la selection" à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            FicTemp.Sheets(1).Range(Sheets(1).Cells(1, 1), Sheets(1).Cells(65536, 256)).Copy _
            ThisWorkbook.Sheets("Copie" & i).Range(Sheets("Copie" & i).Cells(1, 1), Sheets("Copie" & i).Cells(65536, 256))
    mais je comprend pas trop à quel niveau de la ligne vient le souci

    et si quelqu'un pourrait me donner une autre facon d'ecrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Sheets("Copie" & i).Range(Sheets("Copie" & i).Cells(1, 1), Sheets("Copie" & i).Cells(65536, 256))
    en plus court j'apprecierai aussi

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Bon, je reprends ta première proposition qui me semble la plus proche de la vérité

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        For i = 1 To Responsivness.TextBox9
             Workbooks.Open CheminFichier & "\" & Responsivness.TextBox7 & "\" & _
            Responsivness.TextBox8 & ") " & NomsMois(Responsivness.TextBox8) & "\responsivness" & i
            Set FicTemp = ActiveWorkbook
            FicTemp.Sheets(1).Copy Before:=ThisWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count)
            ThisWorkbook.ActiveSheet.Name = "Copie" & cstr(i) ' ou str(i)
            FicTemp.Close 
        Next
    Tu dis

    A+

    Psst - Pas testé

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Points : 448
    Points
    448
    Par défaut
    Hello,

    bah pourtant oui j'avais pas mal cherché mais apparement pas de la bonne manière


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        For i = 1 To Responsivness.TextBox9
     
            Workbooks.Open CheminFichier & "\" & Responsivness.TextBox7 & "\" & _
            Responsivness.TextBox8 & ") " & NomsMois(Responsivness.TextBox8) & "\responsivness" & i
            Set FicTemp = ActiveWorkbook
            FicTemp.Sheets(1).Copy After:=ThisWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count)
            ThisWorkbook.ActiveSheet.Name = "Copie" & Str(i)
            ActiveSheet.Move After:=Sheets(Worksheets.Count)
            FicTemp.Close
     
        Next
    voilà mon code final avec la feuille qui s'ajoute à la fin (pourquoi t'avais remplacé mon After par un Before? un petite fantaisie de l'artiste? )

    en tout cas merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Excel/Vba insérer les données d'une feuille excel dans le corps d'un email
    Par shakapouet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/10/2011, 12h02
  2. [Toutes versions] Recherche de données dans une feuille pour les copier dans une autre
    Par mattdogg97 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/02/2011, 14h22
  3. Réponses: 2
    Dernier message: 06/04/2007, 21h37
  4. [VBA-E]tri/sélection dans une feuille
    Par philpommé dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/04/2006, 20h18
  5. [VBA] Transmettre des données d'une feuille à l'autre
    Par Overflow64 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2005, 09h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo