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 :

Détecter une valeur dans une cellule et la coller les valeur de cette ligne dans une autre ligne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur
    Inscrit en
    Janvier 2021
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Janvier 2021
    Messages : 50
    Par défaut Détecter une valeur dans une cellule et la coller les valeur de cette ligne dans une autre ligne
    Bonjour,

    Je suis actuellement stagiaire , je suis dans un projet où je développe une solution en C# mais il m'est demandé d'effectuer des traitement sur excel par le biais de code.

    J'ai déjà pu implémenter des fonctionnalités sur ce Excel mais il me reste cependant un problème que je n'arrive pas à régler.

    Voila j'ai un fichier Excel configuré pour faire des traitements et c'est ce dernier qui contient du code vb. Ce fichier excel contient 3 feuilles. Le besoin que j'aimerais traiter c'est que lorsqu'on retrouve dans la colonne A de la feuille 1 une valeur "Et"; j'aimerais que les valeurs de cette ligne soit automatiquement copié-collé dans la ligne LD de la feuille 2.

    Par exemple :

    voici les données de la feuille 1 :

    Nom : Capture1 postforum.PNG
Affichages : 108
Taille : 155,4 Ko

    j'aimerais que dès qu'il y'a la présence d'une cellule qui est du type "Et ..." de la colonne A, que la ligne soit copié puis collé dans la ligne LD dans la feuille 2 comme dans la photo en dessous.

    Nom : Capture2postforum.PNG
Affichages : 122
Taille : 97,1 Ko

    Enfait la ligne LD est aussi utilisé pour un autre code qui se déclenche en actionnant un bouton "rechercher" dans la feuille 3, pensez que les deux codes peuvent rentrer en conflit ?

    pouvez-vous m'aidez à trouver une solution s'il vous plâit ?

    Je vous joint le fichier excel qui contient tout les codes.

    Merci de votre compréhension.

    FichierParentThermo.xlsm

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Détecter signifie que le code doit surveiller en permanence ou du moins à chaque saisie le contenu de la cellule de la colonne A, or le problème, c'est que si le remplissage d'une ligne commence par la la cellule en colonne A, aussitôt le code va démarrer et recopier la ligne pas encore remplie vers l'autre feuille. Donc ça ne va pas. il faut que ce soit exécuté à la demande via un bouton dédié à cela.
    De plus, on recopie la ligne sur la ligne BD de l'autre feuille, Question: et s'il y a plusieurs lignes qui contiennent "Et ", où copie-t-on les autres, à la suite?
    En attendant plus de précisions, voici une première approche, l'action de recopie se fait en cliquant sur le bouton en haut de la colonne A. Le code est dans le module standard1.
    Pièce jointe 593581

    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
    Sub Recopier_Ligne_ET()
        Dim f1 As Worksheet, f2 As Worksheet
        Dim e As Range
        Dim Derlig As Long
        Application.ScreenUpdating = False
        Set f1 = Sheets("Données_ICP")
        Set f2 = Sheets("Formatage_IM")
        Derlig = f1.Range("A" & Rows.Count).End(xlUp).Row
        Set e = f1.Range("A1:A" & Derlig).Find("Et ", LookIn:=xlValues, LookAt:=xlPart)
        If Not e Is Nothing Then f1.Range("A" & e.Row & ":AD" & e.Row).Copy f2.Range("B4")
        Set f1 = Nothing
        Set f2 = Nothing
    End Sub
    Cdlt

  3. #3
    Membre averti
    Homme Profil pro
    Développeur
    Inscrit en
    Janvier 2021
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Janvier 2021
    Messages : 50
    Par défaut
    Bonjour Arturo83,

    Merci pour votre solution je vais la tester.

    Pour répondre à votre question : et s'il y a plusieurs lignes qui contiennent "Et ", où copie-t-on les autres, à la suite?

    Il y a deux types de lignes qui contiennent "Et" comme vous avez pu le voir dans la capture, nous avons des lignes de types "Etalon ....." et "Et...." . Moi ce qui va m'intéresser c'est uniquement les lignes de type "Et .....".

    Il n'y aura qu'une ligne de ce genre, mais l'appellation de sera pas la même tout le temps, ce qui sera identique c'est le fait que la cellule commence par "Et" et non par "Etalon".

    Merci de votre compréhension.

Discussions similaires

  1. séléction d'une zone et copie/coller les donné de cette zone
    Par bitissa1991 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/08/2016, 11h56
  2. [2008R2] Dupliquer une ligne d'enregistrement selon une valeur de cette ligne
    Par JazzFun dans le forum Développement
    Réponses: 7
    Dernier message: 09/06/2015, 14h02
  3. [XL-2010] Plage de valeurs "jusqu'à cette ligne"
    Par King Bradley dans le forum Excel
    Réponses: 5
    Dernier message: 13/02/2014, 08h26
  4. 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, 14h48
  5. Réponses: 3
    Dernier message: 13/06/2006, 17h36

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