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 :

pieger des valeurs entre deux feuilles et copier coller


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Janvier 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Janvier 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut pieger des valeurs entre deux feuilles et copier coller
    Bonjour,

    n'étant habituellement pas utilisateur de VBA, j'ai besoin d'aide pour établir un macro afin de transférer des données entre deux sheets de l'Excel en attachement.

    En premier lieu, Je voudrais piéger les valeurs identiques entre la colonne 4 de rack 1 et la colonne 13 de table.

    Puis lorsque des valeurs identiques sont établies, prendre la valeur de la colonne 5 de rack 1 (même ligne) et la copier sur table en colonne 4 sur la ligne determinée grace au piège précédent.

    J'ai essayé bcp de choses, mais rien ne fonctionne....

    Merci d'avance pour vos conseils

    Thomas
    Fichiers attachés Fichiers attachés

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour,
    Crois-tu que ton exposé est à lui seul suffisamment clair sans courir de risques en ouvrant ton classeur ?
    Lire ceci pourtant signalé "Important" :
    https://www.developpez.net/forums/d8...s-discussions/
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par thomthai69 Voir le message
    En premier lieu, Je voudrais piéger les valeurs identiques entre la colonne 4 de rack 1 et la colonne 13 de table.
    Que veux-tu dire par "piéger des valeurs" ?

    Puis lorsque des valeurs identiques sont établies, prendre la valeur de la colonne 5 de rack 1 (même ligne) et la copier sur table en colonne 4 sur la ligne determinée grace au piège précédent.
    N'ayant pas ouvert ton fichier, je n'ai pas trop compris tes explications, mais j'ai l'impression que ça pourrait se faire avec un simple RECHERCHEV().
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Janvier 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Janvier 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Que veux-tu dire par "piéger des valeurs" ?
    Merci pour ta question, Je m'explique:
    j'ai un peu plus de 2000 alvéoles ou cellule a desservir en coordonnées X et Y pour l'API d'une machine. Ces alvéoles sont reparties dans un vingtaine de racks.
    Dans la recopie des résultats que je souhaite effectuer il y aura donc deux Tables de résultats compilés: Une détaillant la position de x par rapport a y (x1;y20= 11000 par exemple) et la deuxième table détaillant les positions y par rapport a x (y20;x1= 4000 par exemple)
    Le moyen que j'ai trouvé pour identifier facilement chacune des coordonnées et ne pas faire d'erreurs a la recopie est d'utiliser le numéro unique de l'alvéole. J'aimerais donc, en fonction d'un numéro de cellule dans mes feuilles Rack, effectuer un offset systématique sur la valeur x de sa ligne et le copier puis le coller dans la table de compilation x, sur la bonne ligne et colonne.

    Même principe pour y dans sa table dédiée.



    Citation Envoyé par Menhir Voir le message
    N'ayant pas ouvert ton fichier, je n'ai pas trop compris tes explications, mais j'ai l'impression que ça pourrait se faire avec un simple RECHERCHEV().
    Afin de t'aider a visualiser l'architecture de ces sheets. j'ai sélectionné les colonnes correspondant au numéros uniques d'alvéoles que je souhaiterais utiliser pour transférer les valeurs de positions x et y Nom : rack.png
Affichages : 183
Taille : 116,9 KoNom : tableX.png
Affichages : 239
Taille : 128,1 Ko


    Merci pour ton aide

    Thomas

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Janvier 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Janvier 2018
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Je me demande si la fonction match ne ferait pas l'affaire? J'ai découvert et tenté d'adapter ce code provenant d'autres sujets. Cependant cela me remonte une erreur 9


    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
    Sub transfert datas()
     
        Dim rack1 As Worksheet
        Dim table As Worksheet
        Dim PlgSource As Range
        Dim PlgDest As Range
        Dim Cel As Range
        Dim Ligne As Long
     
        'défini les feuilles
        Set rack1 = Worksheets("rack1")
        Set table = Worksheets("table")
     
        'défini les plages
        With rack1
     
            Set PlgSource = .Range(.Cells(25, 5), .Cells(.Rows.Count, 1).End(xlUp))
     
        End With
     
        With table
     
            Set PlgDest = .Range(.Cells(2, 13), .Cells(.Rows.Count, 1).End(xlUp))
     
        End With
     
        'parcour la plage (en colonne A) de la feuille de destination
        For Each Cel In PlgDest
     
            'gestion de l'erreur de la valeur non trouvé
            On Error Resume Next
            Ligne = Application.WorksheetFunction.Match(Cel.Value, PlgSource, 0) + 1 'rajoute 2 car départ de plage en ligne 3 '1 pour moi
     
            'si pas d'erreur, récupère les valeurs en colonnes E:G et les inscrit en colonne AN:AP
            If Err.Number = 0 Then
     
                Cel.Offset(, -9).Resize(, 0).Value = rack1.Cells(Ligne, 1).Offset(, 1).Resize(, 0).Value
     
            End If
     
        Next Cel
     
    End Sub
    Merci

    Thomas

Discussions similaires

  1. [XL-2010] Transférer des données entre deux feuilles et les placer à des lignes spécifiques
    Par ElPibeOro dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/04/2013, 14h25
  2. Soustraire des valeurs entre deux dictonnaires
    Par RTK45 dans le forum Général Python
    Réponses: 4
    Dernier message: 16/02/2012, 23h37
  3. Affichers des valeurs entre deux nombres.
    Par anirolf dans le forum Débuter
    Réponses: 10
    Dernier message: 13/11/2011, 00h35
  4. [XL-2003] Rechercher des donnée entre deux feuilles
    Par mimil49 dans le forum Excel
    Réponses: 1
    Dernier message: 06/07/2011, 16h14
  5. Permuter des valeurs entre deux listes
    Par doogybreton dans le forum IHM
    Réponses: 2
    Dernier message: 14/12/2007, 21h42

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