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 :

copier cellule d'une feuille à une autre


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2015
    Messages : 54
    Par défaut copier cellule d'une feuille à une autre
    Bonjour

    Le tout parait simple, mais il y a un HIC.

    J'ai tout d'abord une feuille fixe au nom "Compilation". dans le classeur "compilation_stats.xlsm"

    À l'aide d'une macro provenant du classeur "X", je crée des feuilles aux noms variables dans le classeur "compilation_stats.xlsm"

    Je dois récupérer les données des cellules B6 à AL6 des feuilles créées pour les envoyées dans la feuille "compilation" du même classeur.

    Dans la feuille "compilation", les données de la première feuille doivent apparaître dans les cellules B6 à AL6. Les données de la seconde feuille doivent apparaitre dans les cellules B7 à AL7 et ainsi de suite.

    Je suis un peu à bout de recherche.

    Merci encore une fois de votre aide.

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    si ta problématique c'est de gérer ces feuilles crées dynamiquement, tu as plusieurs méthodes

    en voici une : lors de la création de la feuille dynamique, on l'affecte directement à une variable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub toto()
        Dim Sh As Worksheet
        Set Sh = ThisWorkbook.Worksheets.Add
    End Sub
    Ainsi, pour faire ton copier, tu utilisera Sh pour faire référence à la feuille


    Ensuite, comment gérer le fait qu'il ny' a pas qu'une mais plusieurs feuille ? Là ça dépend de ce que fais ta procédure.
    Le plus simple et de faire une boucle pour chaque feuille :

    - création de la feuille avec instanciation dans la variable Sh
    - actions à faire sur la feuille
    - copie vers la feuille compilation
    - on recommence la boucle avec la création d'une autre feuille
    - etc..

  3. #3
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2015
    Messages : 54
    Par défaut
    Bonjour

    Je reviens à la charge. Pour la création dynamique des feuilles je sais le faire.

    Je suis un peu pris à cette étape. Je vous explique:

    Le fichier maître (Création) contient des noms de joueurs. Avec une macro, je créer un dossier compilation et un fichier compilation.xlsm contenant une feuille compilation et tout les feuilles des joueurs.

    Dans chaque feuille de joueurs, les statistiques se retrouve de B6 à AL6.

    J'aimerais pouvoir récupérer les valeurs contenu dans le B6-AL6 et les faire apparaître dans la feuille compilation.

    J'ai réussi avec cette macro:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Sheets("compilation").Select
        Range("B6") = "=test!B6"
    Par contre, le problème c'est que j'ai plusieurs feuilles donc les cellules de la feuille compilation doivent ce voir comme suit B7 pour la feuille suivante, B8 et ainsi de suite.

    Je sais qu'il y a surment une solution.

    Merci

  4. #4
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour,
    Essaye ça. A adapter à ton fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Compilation()
    Dim ws As Worksheet, Rw&, Der_L As Long
     
    Der_L = Sheets("COMPILATION").Range("B5").CurrentRegion.Resize(, 1).Rows.Count
     
            For Each ws In Worksheets
               If ws.Name <> "COMPILATION" Then
                Sheets("COMPILATION").Range("B" & 5 + Rw + Der_L & ":" & "AL" & 5 + Rw + Der_L).Value = ws.Range("B6:AL6").Value
                Rw = Rw + 1
            End If
        Next ws
     
    End Sub
    Merci de cliquer sur ça te convient
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  5. #5
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Merci de cliquer sur ça te convient [/QUOTE]

    Question bête :p
    Pourquoi utiliser Rw au lieu d'incrémenter directement Der_L

  6. #6
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    tout simplement par ce que je fais du vba qu'à de rare occasion (quand jen ai besoin pour me créer un outil de travail), je suis pas un pro et en plus je suis en train d'apprendre; répondre à des post me sert d'exercices concret
    mais si tu veux simplifier le code je suis preneur ça permettra de m' (nous) améliorer
    et le rôle du forum c'est l'entraide, et je le fait avec les moyens que j'ai
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/12/2012, 14h29
  2. [XL-2003] Copier le code VBA d'une feuille à une autre avec une macro
    Par Pimpampoum dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/02/2012, 16h57
  3. [XL-2007] Copier/Coller de formules d'une feuille à une autre
    Par Maady dans le forum Excel
    Réponses: 4
    Dernier message: 09/09/2010, 17h59
  4. Comment copier des option boutons d'une feuille à une autre en vba?
    Par muska78 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/06/2008, 17h50
  5. [VBA-E]Copier un lien hypertexte d'une feuille à une autre
    Par DomBourti dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/04/2006, 18h01

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