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 :

Migration des données de façon personnalisée


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Egypte

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Migration des données de façon personnalisée
    Bonsoir
    Je veux migrer des données de papier "data"
    Il y a trois colonnes, la première colonne "d" _Son nom est "kind"
    Il y a trois colonnes, la première colonne "b" _Son nom est "group"
    Il y a trois colonnes, la première colonne "c" _Son nom est "name"
    Je veux la méthode de migration de données
    Données de la colonne D ' et la colonne correspondante « b », etc..
    Un exemple en pièces jointes

    mido.xlsm

  2. #2
    Membre éclairé Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    551
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 551
    Points : 787
    Points
    787
    Merci d'exprimer votre message le plus clairement possible pour qu'on puisse vous aider

    n'oubliez pas de cliquer sur et si cela vous a aidé pensez à voter

  3. #3
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 420
    Points : 16 264
    Points
    16 264
    Par défaut
    Bonjour

    Cela s'appelle un tableau croisé dynamique pas une migration.

    Regarde les didacticiels sur les tableaux croisés dynamiques.

    Il te faut
    • placer les champs Kind, Group, Name, en étiquette de ligne et le 4ème champ en valeurs,
    • choisir la disposition plan
    • choisir le placement des sous-totaux en bas de groupe
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Egypte

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonsoir 78chris

    Je suis bien avec les tableaux "pivot table"
    Mais je veux le code de la solution

  5. #5
    Expert confirmé
    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
    Points : 4 174
    Points
    4 174
    Par défaut
    bonsoir,

    dans ce cas si tu as pu le faire manuellement, tu pourras générer une base de code à l'aide de l'enregistreur de macro qui te donnera les prémices de la solution :
    voir ce lien => http://fauconnier.developpez.com/tut...istreur-macro/
    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 en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par mido21 Voir le message
    Bonsoir 78chris

    Je suis bien avec les tableaux "pivot table"
    Mais je veux le code de la solution
    Tu risques d'attendre longtemps. Le forum n'est pas là pour fournir du code gratuit et clef en main

    Nous ne sommes pas là pour faire vos exercices.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Egypte

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonsoir à tous les Forum
    Je sais que le Forum ne pas fournir des solutions complètes et télécharger
    Mais la seule fois disponible, assistance
    Je vous remercie pour les réponses
    Je pourrais essayer d’écrire le code et s’il vous plaît corriger le code

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Sub kind()
    Range("b5:d10000").Clear
     
    With sheet3
        On Error Resume Next
        Dim collon_d As Collection, dd As Range
        Dim collon_b As Collection, bb As Range
        Dim collon_c As Collection, cc As Range
        ''''''''''''''''''''''''''''''''''''''''''
            Set collon_d = New Collection
            Set collon_b = New Collection
            Set collon_c = New Collection
            '''''''''''''''''''''''''''''''''''''''''''''''''
             LsRow = .Range("d" & Rows.Count).End(xlUp).Row
             For Each dd In .Range("d4:d" & LsRow)
              collon_d.Add dd.Value, dd.Text
               Next dd
     '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
               LsRow1 = .Range("b" & Rows.Count).End(xlUp).Row
               For Each bb In .Range("b4:b" & LsRow1)
                  collon_b.Add bb.Value, bb.Text
                Next bb
     ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
              LsRow2 = .Range("c" & Rows.Count).End(xlUp).Row
               For Each cc In .Range("c4:c" & LsRow2)
                  collon_c.Add cc.Value, cc.Text
                Next cc
      '''''''''''''''''''''''''''''''''''''''''''''''''''
            g = 5
            For i = 1 To collon_b.Count
             sheet5.Cells(g + collon_b.Count, 2) = CStr(collon_d(i))
             sheet5.Cells(g + collon_d.Count, 3) = CStr(collon_b(i))
             sheet5.Cells(g + collon_c.Count, 4) = CStr(collon_c(i))
                 g = g + 1
     
            Next i
       End With
    End Sub

  8. #8
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Egypte

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonsoir
    S’il vous plaît m’aider à mettre le code suivant
    Le code fonctionne correctement

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Sub kind()
    Range("b2:d10000").Clear
    g = 2
    With sheet3
        On Error Resume Next
        Dim collon_d As Collection, dd As Range
        Dim collon_b As Collection, bb As Range
        Dim collon_c As Collection, cc As Range
        ''''''''''''''''''''''''''''''''''''''''''
            Set collon_d = New Collection
            Set collon_b = New Collection
            Set collon_c = New Collection
            '''''''''''''''''''''''''''''''''''''''''''''''''
             LsRow2 = .Range("d" & Rows.Count).End(xlUp).Row
             For Each dd In .Range("d4:d" & LsRow2)
              collon_d.Add dd.Value, dd.Text
               Next dd
     '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
               LsRow = .Range("b" & Rows.Count).End(xlUp).Row
               For Each bb In .Range("b4:b" & LsRow)
                  collon_b.Add bb.Value, bb.Text
                Next bb
     ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
              LsRow = .Range("c" & Rows.Count).End(xlUp).Row
               For Each cc In .Range("c4:c" & LsRow)
                  collon_c.Add cc.Value, cc.Text
                Next cc
      '''''''''''''''''''''''''''''''''''''''''''''''''''
         For i = 1 To collon_d.Count
         sheet4.Range("b" & Rows.Count).End(xlUp).Offset(1, 0).Value = collon_d(i)
           '---------------------------------------------------------------
           For g = 1 To collon_c.Count
            If CStr(sheet3.Cells(g + 4, 4).Text) = CStr(collon_d(i)) Then
             sheet4.Range("d" & Rows.Count).End(xlUp).Offset(collon_d.Count, 0).Value = CStr(collon_c(g))
              End If
              '----------------------------------
              For f = 1 To collon_b.Count
            If CStr(sheet3.Cells(f + 4, 3).Text) = CStr(collon_c(g)) Then
             sheet4.Range("c" & Rows.Count).End(xlUp).Offset(collon_c.Count, 0).Value = CStr(collon_b(f))
           End If
              Next
                Next
                 Next
       End With
    End Sub

Discussions similaires

  1. Migration des données sur ERP + états +
    Par vinz4444 dans le forum Sujets
    Réponses: 0
    Dernier message: 15/01/2009, 17h36
  2. migration des données
    Par phpdev dans le forum Outlook
    Réponses: 2
    Dernier message: 08/09/2008, 20h08
  3. Migration des données de EXCEl vers Oracle
    Par shark84 dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 25/04/2008, 15h03
  4. Plantage d'un serveur > migration des données
    Par cedtic dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 15/10/2007, 16h00
  5. [WD55] Migration des données HF vers MySQL ou Access
    Par developper2006 dans le forum WinDev
    Réponses: 1
    Dernier message: 21/02/2007, 13h31

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