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 :

Copie d'un tableau d'une feuille source à une autre feuille [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2014
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2014
    Messages : 130
    Points : 11
    Points
    11
    Par défaut Copie d'un tableau d'une feuille source à une autre feuille
    Bonjour à tous,

    Je voudrais copier un tableau qui change toutes les semaines dans une autre feuille de sorte à avoir un historique sur l'année. Du coup, le tableau se copiera dans la feuille 2 avec un écart de 2 lignes pour bien marquer le numéro de semaine. Je voudrais le faire automatiquement à partir du moment où la date inscrit dans une cellule est différente de la précédente. Du coup, chaque semaine, le tableau de la feuille1 est copié dans la feuille2.
    Auriez vous une idée de macro pour le faire? Sinon est ce possible de le faire avec des formules excel?

  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2013
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2013
    Messages : 64
    Points : 56
    Points
    56
    Par défaut
    Plutôt en codant, ca sera plus simple.
    Tu as un tableau en exemple ?

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 760
    Points : 28 615
    Points
    28 615
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je voudrais copier un tableau qui change toutes les semaines dans une autre feuille de sorte à avoir un historique sur l'année. Du coup, le tableau se copiera dans la feuille 2 avec un écart de 2 lignes pour bien marquer le numéro de semaine. Je voudrais le faire automatiquement à partir du moment où la date inscrit dans une cellule est différente de la précédente. Du coup, chaque semaine, le tableau de la feuille1 est copié dans la feuille2.
    Si le nombre de colonnes et les étiquettes de colonnes sont identiques une procédure toutes faites Regrouper plusieurs feuilles sur une autre. (2003-2010).
    Seul bémol pour toi, il ne laisse pas de lignes vides mais très franchement cela va à l'encontre de toutes règles de bonnes pratiques pour les listes de données.
    Un tableau (liste de données) dans excel doit idéalement commencer à la ligne 1 où se trouve les étiquettes de colonnes, avoir en colonne 1 de préférence une clé unique, ne pas fusionner les cellules et toutes les données des lignes 2 et suivantes doivent se suivre sans espaces et éviter les cellules vides en privilégiant les valeurs nulles aux valeurs vides.
    Sinon la syntaxe est très simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExportTable sht1, shtTarget
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub testExport()
     ' Déclaration des variables
     Dim shtSource As Worksheet, shtTarget As Worksheet
     ' Affectation des variables
     With ThisWorkbook
      Set shtSource = .Worksheets("Mvt-Janv")
      Set shtTarget = .Worksheets("Export")
     End With
     ' Exportation des données
     ExportTable sht1, shtTarget
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour le fil, bonjour le forum,

    Peut-être comme ça, avec la macro événementielle Change (à adapter) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim OD As Object 'déclare la variable OD (Onglet de Destination)
    Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
     
    'si le changement à lieu ailleurs que dans la cellule A1, sort de la procédure
    If Target.Address <> "$A$1" Then Exit Sub 'tu adapteras à ton cas ce doit être l'adresse de la cellule contenant la date
    Set OD = Sheets("Feuil2") 'définit l'onglet de destination (à adapter à ton cas)
    'définit la cellule de destination DEST (A1 si A1 est vide, sinon la troisième cellule vide de la colonne 1 (=A) de l'onglet OD
    Set DEST = IIf(OD.Range("A1") = "", OD.Range("A1"), OD.Cells(Application.Rows.Count, 1).End(xlUp).Offset(3, 0))
    Range("A1").CurrentRegion.Copy DEST 'copie la plage des cellules contiguës à A1 et la colle dans DEST
    End Sub
    À plus,

    Thauthème

    Je suis Charlie

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Bonjour aux intervenants,

    lilmonie a préféré nier vos réponses en disant qu'il n'en a pas reçu et a ouvert une autre discussion ici.

    Je clos donc ce sujet-ci.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  6. #6
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2014
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2014
    Messages : 130
    Points : 11
    Points
    11
    Par défaut
    Par fausse manipulation, je n'ai pas ignoré la conversation. j'ai juste pas vu les réponses et c'est pour cela que j'ai ouvert une nouvelle conversation

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/01/2015, 14h39
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  3. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  4. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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