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 :

Trier et transfert données entre 2 tableaux [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 60
    Par défaut Trier et transfert données entre 2 tableaux
    Bonjour à tous,
    j'espère que tout le monde est en grande forme.
    Je cherche à récuperer des noms dans un tableau en fonction de conditions et les transférer dans un autre tableau.
    Vu comme ça cela parait simple et pour éviter d'écrire un roman qui ne sera pas forcément explicite, je vous joint un petit fichier avec le détail de ma problématique.
    Merci d'avance pour le coup de main et je n'en doute pas, pour une solution à mon problème
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    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 : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si tu souhaites transférer des données d'une liste de données vers un autre endroit et ce suivant des critères, le filtre élaboré est une solution.
    Voir le tutoriel Les filtres avancés ou élaborés dans Excel
    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

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Comme ceci peut-être ?
    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
     
    Sub Test()
     
        Dim Plage As Range
        Dim Cel As Range
        Dim I As Integer
        Dim J As Integer
     
     
        For I = 4 To 6
     
            With Worksheets("Feuil1")
     
                If .Cells(1, I) <> 0 Then
     
                    Set Plage = .Range(.Cells(9, I), .Cells(.Rows.Count, I).End(xlUp))
     
                    J = 2
     
                    For Each Cel In Plage.SpecialCells(xlCellTypeConstants)
     
                        Worksheets("Feuil2").Cells(J, 1) = Cel.Offset(, -I + 1).Value & " / " & Cel.Offset(, -I + 2).Value
                        Worksheets("Feuil2").Cells(J, 2) = Cel.Offset(, -I + 3).Value
     
                        J = J + 1
     
                    Next Cel
     
                End If
     
            End With
     
        Next I
     
    End Sub
    Hervé.

  4. #4
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 60
    Par défaut
    Merci Theze,
    c'est tout à fait ce que je cherchais. Il me reste un little pb à résoudre car ce que je ne t'avais pas dit c'est que le 1 qui est la condition du tri est le résultat d'une formule. Et donc ton code fonctionne à merveille mais comme j'ai une formule dans la cellule (le 1 en est le résulta) j'ai toujours les même nom qu sont extrait, à savoir ceux de la première colonne d'action.
    Comment différencier le 1 (valeur) du 1 (résultat de la formule )?
    Encore merci

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Rajoute "Value" dans la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If .Cells(1, I).Value <> 0 Then
    Hervé.

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

Discussions similaires

  1. [XL-2010] Transfert partiel de données entre tableaux selon des références.
    Par Franckxxx dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/01/2015, 22h49
  2. Transfert Données entre Activity
    Par Invité dans le forum Android
    Réponses: 2
    Dernier message: 05/04/2012, 20h14
  3. [XL-2003] récup de données entre deux tableaux aux mêmes colonnes
    Par leowish dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 23/04/2010, 13h48
  4. Réponses: 2
    Dernier message: 21/10/2005, 17h02
  5. [Designer] Problème de transfert de données entre modul
    Par BILLYPATOU dans le forum Designer
    Réponses: 11
    Dernier message: 09/03/2004, 18h15

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