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

Excel Discussion :

Copie de copie de feuille [XL-2007]


Sujet :

Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 49
    Points : 22
    Points
    22
    Par défaut Copie de copie de feuille
    BOnjour,
    J'ai un peu parcouru le forum sans trouver de réponse. J'ai une feuille excel que je dois copier x fois (x dépendant du sujet traité) afin de ne modifier que quelques données sur chaque feuille. Il y a bien l'option "déplacer - copier" (qui est assez mal faite ceci dit en passant), mais le faire plusieurs fois est assez... embêtant. J'ai bien essayé de copier coller la feuille+la copie afin d'aller plus vite, mais à chaque fois que j'essaie de copier une copie, j'ai un message d'erreur qui passe en boucle et je suis obliger de passer par l'arret du processus pour pouvoir m'en sortir (fait buguer excel).
    Message:
    "Une formule ou une feuille que vous voulez déplacer contient le nom "(donne une suite alphanumérique)" qui existe déja sur la feuille de destination. Voulez vous utiliser cette version du nom?"
    me donne ensuite deux choix. si je met oui, le message passe en boucle. Si je met non, il me porpose de changer le nom, mias le message continue quand même de passer en boucle. Je ne vois pas quel nom donner pour que ça fonctionne. y a t il une solution?

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Points : 222
    Points
    222
    Par défaut
    Bonjour,

    En passant en VBA, tu as moyen de créer/copier/nommer des onglets, est-ce que cela te conviendrait ?

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Points : 222
    Points
    222
    Par défaut
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Macro1()
        Sheets("Feuil1").Select
        Sheets("Feuil1").Copy Before:=Sheets(2)
    End Sub
    Le code copie la feuille 1 avant la feuille 2, une fois.
    En créant un bouton pour lancer la macro, tu peux cliquer X fois pour créer X onglets. Plus simple déjà, non ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 49
    Points : 22
    Points
    22
    Par défaut
    Ah?
    merci pour la réponse, je vais essayer (il faut juste que je retrouve comment lancer vba, c'est sur mon ordinateur de travail).
    Par contre, en passant par du vba, il faudra refaire la manip pour chaque classeur? ou bien il faudrait créer chaque document à partir d'un classeur "modèle"?

  5. #5
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Points : 222
    Points
    222
    Par défaut
    Pour afficher la fenêtre de développement VBA, il faut avoir l'onglet Développeur affiché en haut de ta barre d'outil Excel. Pour ce faire : Options Excel --> Standard --> Afficher l'onglet Développeur dans le ruban.

    Après, il te suffit de copier le code au bon endroit et de l'exéctuer depuis la fenêtre VBA, ou via la création d'un bouton relié à ta macro.

    D'ailleurs, optimisation du code que je t'ai donné avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Macro1()
        Sheets("Feuil1").Copy Before:=Sheets(2)
    End Sub
    Quand tu parles de classeur, cela signifie que tu as plusieurs fichiers Excel ? Ou est-ce que tu veux juste copier X fois l'onglet 1 de ton fichier excel dans le même fichier ?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 49
    Points : 22
    Points
    22
    Par défaut
    JE teste, je recherche juste comment ajouter un bouton de macro... je 'lai fait, mais il y a bien longtemps, et vba, c'est pas comme le vélo!
    Quand je parle de classeur, je parle effectivement de fichier. J'ai en fait plusieurs fichiers excels, qui sont créés chaque année en fonction d'analyses que nous menons. Et je traite donc chaque fichier. (Traitement statistique via statbox) c'est là que j'aurais besoin de faciliter les choses, parce que quand il faut comparer deux à deux les modalités et que j'ai 7, 10 ou 16 modalités, je suis obligé de faire autant de copies...
    donc oui, plusieurs fichiers sur lesquels faire les manip.

  7. #7
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Points : 222
    Points
    222
    Par défaut
    Pour créer un bouton : http://www.developpez.net/forums/d37...-excel-2007-a/

    Si tu souhaites donc créer plusieurs onglets à partir d'un seul, pour un fichier donné, la macro que je t'ai proposée peut suffire.
    Si tu souhaites, pour tous les classeurs d'un coup, créer X onglets dans chacun à partir du 1er onglet (par exemple) de chaque fichier, tu peux le faire depuis l'onglet de ton premier classeur, en rajoutant par exemple le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Workbooks.Open Filename:="D:\MESDOCS\TEST\fichiertest.xls"
        For i = 1 To 10 '10 pour le nombre d'onglets que tu souhaites créer
            Worksheets(1).Copy Before:=Sheets(2) '1 si c'est la feuille 1 de l'onglet que tu veux copier
        Next i

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 49
    Points : 22
    Points
    22
    Par défaut
    Alors...
    Je n'arrive pas encore à faire apparaitre l'onglet complément, mais je vais continuer à travailler dessus, quitte à passer à autre chose (genre toujours passer par "macro" et "exécuter").
    J'ai (étrangement réussi à) bidouiller le code que tu m'a fait, qui focntionnait bien, et ça semble marcher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Macro1()
        For i = 1 To 10 '10 pour le nombre d'onglets que tu souhaites créer
            ActiveSheet.Copy Before:=Sheets(2) '1 si c'est la feuille 1 de l'onglet que tu veux copier
        Next i
    End Sub
    afin que ça duplique la feuille active.
    Je ne clos pas tout de suite le sujet, mais ça m'a déja bien aidé!
    Je peux charger le modèle en complément dans n'importe quel fichier excel par la suite?

  9. #9
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Points : 222
    Points
    222
    Par défaut
    Quelle version d'Excel utilises-tu ?
    Pour afficher l'onglet en question, si tu es sous Excel 2007 : http://office.microsoft.com/fr-fr/ex...010173052.aspx

    Tu veux charger le modèle d'un fichier dans un autre, ou charger le modèle d'un fichier dans ce même fichier, via un autre fichier (ouah, les noeuds à la tête...)

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 49
    Points : 22
    Points
    22
    Par défaut
    Je travaille sous excel 2007
    J'arrive bien à afficher l'onglet développeurt, c'est l'onglet "compément" dans lequel serait le boouton relié à la macro, si j'ai bien compris, que je n'arrive pas à faire apparaitre.
    Je passe donc par le bouton éexécuter la macro" de l'onglet développeur, ce qui est un peu plus long, mais bon, ça fonctionne. Mais je sais que j'ai déja réussi à créer un bouton dans le ruban...
    j'en suis à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Private Sub CommandButton1_Click()
     
    Dim Nombre As Integer
    Dim i As Integer
     
    Nombre = TextBox1.Value
     
     
        If Not IsNumeric(Nombre) Then
            MsgBox ("Veuillez entrer un nombre entier")
        End If
     
       For i = 1 To Nombre 'Détermine le nombre d'onglets à créer
            ActiveSheet.Copy Before:=Sheets(2) 'copie les feuilles
        Next i
     
    End Sub
     
    Sub Macro2()
    UserForm1.Show
     
    End Sub
    Deux petits problèmes: ma vérification que le nombre entré est bien un nombre entier et pas un décimal ou un texte

    J'aimerai également que les feuilles se créent après la dernière feuille existante.
    Enfin, j'ai tenté un UserForm1.hide à la fin de la private sub, mais il devait être au mauvais endroit, car après créations des feuilles je suis obligé de quitter la userform manuellement via la petite croix.

  11. #11
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Points : 222
    Points
    222
    Par défaut
    Oui oui, pour le bouton :
    Onglet développeur -->Insérer-->Contrôle de formulaire-->Bouton

    Tu peux mettre ton fichier en ligne pour que j'y jette un oeil?

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 49
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    ça me permet de mettre le bouton dans le document, mais pas dans le ruban... mais je continue à chercher!

    Et le fichier également!
    Fichiers attachés Fichiers attachés

  13. #13
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Janvier 2010
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 272
    Points : 222
    Points
    222
    Par défaut
    Pour le bouton dans le ruban:
    http://silkyroad.developpez.com/excel/ruban

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 49
    Points : 22
    Points
    22
    Par défaut
    Merci pour le bouton.
    ça ne marche pas avec moi (format ou extension non valide), mais j'essaierai sur un autre ordi! c'est pourtant clair comme explication
    Mais est ce qu'avec cette technique ça permettrait de charger la macro dans tous les documents excel que l'on serait susceptible d'ouvrir? que ce soit comme "trier" ou "rechercher", disponible, et ce même en format xls?

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 49
    Points : 22
    Points
    22
    Par défaut
    En fait tout fonctionne, j'ai finalement réussi.
    Il faut juste partir d'un document modele a chaque fois (dans lequel a été faite la manip).
    Merci

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

Discussions similaires

  1. multiplication des copies et copie de copie
    Par rogerone dans le forum Excel
    Réponses: 1
    Dernier message: 29/03/2009, 16h23
  2. [VBA E] Faire une copie .pdf d'une feuille excel
    Par sethipremier dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/04/2007, 07h53
  3. [VBA-E] Probleme COPY PASTE d'une feuille à une autre
    Par AliochaBada dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/07/2006, 17h56
  4. [VBA-E]sélec./copie lignes remplies vers feuille
    Par Angel79 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/01/2006, 15h35
  5. [VBA-E] Copie et renomage de feuilles
    Par cbonnard dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/10/2005, 15h55

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