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 :

MACRO Copier coller sous conditions [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 13
    Points : 11
    Points
    11
    Par défaut MACRO Copier coller sous conditions
    Bonjour / Bonsoir à vous
    Je vous remercie, par avance, de bien vouloir m'aider pour une MACRO dont la fonction "Copier et Coller" des références situées dans des cellules d'une lignes définie et les affecte (par correspondance de cellules) aux cellules qui ont été sautées et laissées vide.

    Des détails et des précisions claires se trouvent sur le fichier ci-joint.

    Pour plus de détails, je suis à votre entière disposition pour vous fournir plus de précision.

    Mes vives remerciement par avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 30
    Points
    30
    Par défaut Macro Copier Coller sous condition
    bonjour Demerse

    voilà ce que je peux te proposer

    voir votre classeur attachéAffectation.xlsm

    Bonne journée

    Kedar

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 907
    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 : 12 907
    Points : 28 882
    Points
    28 882
    Billets dans le blog
    53
    Par défaut
    Bravo,
    Je suis impressionné par la qualité de l'explication donnée et encore plus par la réponse bien détaillée.
    Voilà qui va permettre aux participants d'en apprendre plus sur le sujet.
    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

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Bonjour Kedar, le Forum
    C'est parfait, un grand merci / je suis bien reconnaissant
    Bonne journée

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bravo,
    Je suis impressionné par la qualité de l'explication donnée et encore plus par la réponse bien détaillée.
    Voilà qui va permettre aux participants d'en apprendre plus sur le sujet.
    Un merci pour vous

    Bonne journée

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 30
    Points
    30
    Par défaut pas de quoi
    Bonjour

    le téléchargement est disponible pour tout le monde.
    ce n'est pas très compliqué de télécharger le fichier et regarder ce qu'il y a dedans.

    mais bon j'accepte la critique et vais donner quelques explications.

    1. nommer la zone de données du tableau pour faciliter son repérage. je l'ai nommée Data.
    2. utiliser l'événement CHANGE de la feuille qui se produit à chaque changement dans une cellule, et l'argument TARGET qui permet de se référer à la cellule qui change
    3. utiliser la méthode INTERSECT de l'objet APPLICATION, pour vérifier que la cellule qui change se trouve bien dans le tableau Data
    4. utiliser la propriété COLUMN de TARGET pour connaitre la colonne où se produit le changement
    5. définir la zone de cellules précédant la celllule cible à l'aide de la syntaxe de RANGE(Cell1,Cell2)
    6. parcourir toutes les cellules de cette zone à l'aide d'une boucle FOR EACH......NEXT
    7. si cette cellule est vide alors y recopier la valeur de la cellule se trouvant dans la même colonne sur la ligne 29


    et le code sera
    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
     
    ' utiliser l'événement CHANGE de la feuille contenant le tableau
    ' nous avons nommé DATA la zone de données du tableau
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim cel As Range
        ' si la cible est vide arrêter la sub.
        If Target.Value = Empty Then Exit Sub
        ' si la cible est constituée de plusieurs cellules, arrêter
        If Target.Cells.Count > 1 Then Exit Sub
        ' la cible se trouve dans le tableau qui a été renommé data (voir gestionnaire de nom)
        If Not Intersect(Target, Range("data")) Is Nothing Then
        ' définir la plage de cellules situées à la gauche de la cellule cible
            Set cellsAvant = Range(Cells(Target.Row, 3), Cells(Target.Row, Target.Column - 1))
            ' pour chaque cellule de cette plage
            For Each cel In Range(Cells(Target.Row, 3), Cells(Target.Row, Target.Column - 1))
            ' si la cellule est vide la remplir avec la valeur de la ligne 9, même colonne
                If IsEmpty(cel) Then cel.Value = Cells(29, Target.Column)
            Next
        End If
     
    End Sub
    est-ce plus clair ?

    forumément

    Kedar

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

Discussions similaires

  1. [XL-2007] Macro copier coller sous condition date
    Par isolf dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/07/2014, 18h32
  2. [XL-2007] Macro- Copier-coller avec conditions
    Par natou_pc dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 12/05/2013, 18h57
  3. [XL-2003] Copier coller sous condition
    Par Nathan87 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 10/03/2011, 11h20
  4. [XL-2000] macro copier coller avec condition ne marche pas
    Par antfo dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 17/03/2010, 10h54
  5. [VBA-E] Copier coller sous conditions de couleur
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 10/04/2007, 18h27

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