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 Coller avec Critère et concaténation


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2021
    Messages : 22
    Points : 10
    Points
    10
    Par défaut Copier Coller avec Critère et concaténation
    Bonjour,
    je souhaite copier coller les valeurs d'une feuille dans une autre a partir d'un critère et d'une concaténation.

    J'ai 2 feuille.
    1- Risque Client
    2- suivi

    je souhaite à partie de la 3 eme ligne concatener la colonne J et la colonne M dans la feuille "suivi"
    et coller ce résultat dans la feuille "Risque Client" dans la colonne C à partir de C6
    le copié collé doit se faire sous un crière "ACCU_R" dans la colonne E de la feuille "suivi"

    donc filtrer les données de la feuille selon le critère "ACCU_R" "suivi" --> concatener la colonne J et la colonne M dans cette feuille à partir de la 3ème ligne
    coller le résultat dans la feuille "Risque Client" dans la colonne C à partir de C6
    Meri de votre aide

  2. #2
    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 Misc, bonjour le forum,

    Essaie comme ça :

    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
    Sub Macro1()
    Dim RC As Worksheet 'déclare la variable RC (onglet Risque Client)
    Dim S As Worksheet 'déclare la variable S (onglet Suivi)
    Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
    Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
    Dim I As Integer 'déclare la variable I (Incrément)
    Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
     
    Set RC = Worksheets("Risque Client") 'définit l'onglet RC
    Set S = Worksheets("Suivi") 'définit l'onglet S
    DL = S.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'ongelt S (colonne à adapter à ton cas)
    TV = RC.Range("A1:M" & DL) 'définit le tableau des valeurs TV
    For I = 3 To DL 'boucle sur toutes les lignes I du tableau des valeurs (en partant de la troisième)
        If TV(I, 5) = "ACCU_R" Then 'condition : si la donnée ligne I colonne 5 (=> E) de TV est égale à "ACCU_R"
            'définit la cellule de destination DEST
            If RC.Range("C6").Value = "" Then Set DEST = RC.Range("C6") Else Set DEST = RC.Cells(Application.Rows.Count, "C").End(xlUp).Offset(1, 0)
            DEST.Value = TV(I, 10) & TV(I, 13) 'récupère dans DEST la concaténation de la donnée ligne I colonne 10 (=>J) et de la donnée ligne I colonne 13 (=>M)
        End If 'fin de la condition
    Next I 'prochaine ligne de la boucle
    End Sub
    À plus,

    Thauthème

    Je suis Charlie

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2021
    Messages : 22
    Points : 10
    Points
    10
    Par défaut
    Bonjour,
    merci de m'avoir répondu. Mais malheureusement cela ne fonctionne pas :/
    je ne peux pas connaître le nombre de ligne maximum cela change selon les fichiers des clients

  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
    Re,

    Le code utilise la colonne A de l'onglet Suivi pour déterminer le nombre de lignes. Il faut peut-être changer et indiquer la colonne qui contient le plus de lignes. Je te l'avais mentionné dans les commentaires...
    Remplace dans la ligne ci-dessous A par la colonne désirée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DL = S.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'ongelt S (colonne à adapter à ton cas)

    À plus,

    Thauthème

    Je suis Charlie

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2021
    Messages : 22
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Thautheme Voir le message
    Re,

    Le code utilise la colonne A de l'onglet Suivi pour déterminer le nombre de lignes. Il faut peut-être changer et indiquer la colonne qui contient le plus de lignes. Je te l'avais mentionné dans les commentaires...
    Remplace dans la ligne ci-dessous A par la colonne désirée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DL = S.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'ongelt S (colonne à adapter à ton cas)

    J'ai changer la colonne en J et cela ne fait rien :/

  6. #6
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 448
    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 448
    Points : 16 314
    Points
    16 314
    Par défaut
    Bonjour à tous

    Au lieu de multiposter, joins a minima une ou deux copies d'écran montrant les références lignes et colonnes et le bas du tableau
    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é...

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

Discussions similaires

  1. Copier/coller avec barre de progression
    Par TicTac75 dans le forum VBA Access
    Réponses: 5
    Dernier message: 21/06/2015, 16h41
  2. Problemes avec copier/coller avec VI
    Par fgalves dans le forum Linux
    Réponses: 7
    Dernier message: 06/01/2009, 15h43
  3. copier-coller avec listbox
    Par LeNeutrino dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/01/2007, 13h06
  4. Fonction copier/coller avec un menu
    Par avogadro dans le forum Langage
    Réponses: 3
    Dernier message: 16/03/2006, 22h44
  5. copier coller avec Pastespecial en VBA
    Par stormless dans le forum Général VBA
    Réponses: 1
    Dernier message: 06/11/2005, 11h59

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