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 copie de cellules


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
    Responsable Automatisme
    Inscrit en
    Mars 2015
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Responsable Automatisme
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2015
    Messages : 35
    Par défaut Macro copie de cellules
    Bonjour à tous,

    J'ai peu d'expérience en macro, c'est pour cela que je sollicite votre aide. J'ai un fichier où j'ai deux feuilles. Ma première feuille contient des cellules un peu dispersées . Dans ma deuxième feuille, j'ai un tableau où je veux positionner des infos des cellules de la feuille 1. Avec un bouton sur la feuille 1 , je veux transferer les infos des cellules choisis et les mettre dans la feuille 2 dans des cellules prédifinies. Je veux également contrôler que la ligne de la feuille 2 soit vide pour autoriser le collage .
    Exemple: Feuille 1, je copie les cellules K12, A2, M3 dans la feuille 2 en ligne 1 vers les cellules A2,B2,C2.
    J'espère avoir été clair,

    Merci de votre retour,

    Cordialement

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    si tu cherches à envoyer les données dans la première ligne non vide tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
    Dim f1 As Worksheet
    Dim f2 As Worksheet
    Dim derlig As Long
    Set f1 = Sheets("Feuil1")
    Set f2 = Sheets("Feuil2")
    derlig = f2.Range("A" & Rows.Count).End(xlUp).Row + 1
    f1.Range("k12").Copy f2.Range("A" & derlig)
    f1.Range("A2").Copy f2.Range("B" & derlig)
    f1.Range("M3").Copy f2.Range("C" & derlig)
    End Sub

  3. #3
    Membre Expert Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 671
    Par défaut
    Faut-il respecter l'ordre K12-A2-M3, ou bien peut-on copier la 1ère cellule de la feuille1 vers la feuille2, puis la 2ème ... etc. ?
    S'il n'y a pas d'ordre spécifique, alors enregistrer votre fichier sous format "Xlsm" et copier ce code dans un module, que vous pouvez lancer avec la touche F5:
    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
    Option Explicit
     
    Sub CopierCellules()
    'Remplacez "Sheet1" et "Sheet2" par les noms de vos 2 feuilles.
        Dim adr As String
        Dim myRow As Long
        Dim j As Long: j = 1
     
        adr = Sheets("Sheet1").Range("A1").SpecialCells(xlLastCell).Address
        adr = "$A$1:" & adr
        myRow = 1+Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
     
        For Each c In Sheets("Sheet1").Range(adr)
            If c <> "" Then
                c.Copy Sheets("Sheet2").Cells(myRow, j)
                j = j + 1
            End If
        Next c
        MsgBox "Terminé !"
     
    End Sub

  4. #4
    Membre averti
    Homme Profil pro
    Responsable Automatisme
    Inscrit en
    Mars 2015
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Responsable Automatisme
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2015
    Messages : 35
    Par défaut
    Merci de votre retour,

    en fait ma feuille est un formulaire à remplir et ma feuille 2 synthètise les données renseignées sous forme d'un tableau me permettant de filtrer sur des colonnes pour rechercher par exemple un nom, etc..;
    Par exemple, que ma cellule K12 de ma feuille 1 correspond à ma première cellule de ma colonne A ( par exemple Nom du client), ma cellule M13 de ma feuille 1 correspond à ma première cellule de colonne B (adresse du client)...
    Une fois la feuille 1 rempli, l'appui sur le bouton renseigne les colonnes de mon tableau en feuille 2.

    Merci à vous

  5. #5
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    as tu testé les deux propositions ?

  6. #6
    Membre averti
    Homme Profil pro
    Responsable Automatisme
    Inscrit en
    Mars 2015
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Responsable Automatisme
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2015
    Messages : 35
    Par défaut
    Oui, j'ai essayé ci-dessous et cela fonctionne :

    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
    Private Sub CommandValider_Click()
    Dim f1 As Worksheet
    Dim f2 As Worksheet
    Dim derlig As Long
    Set f1 = Sheets("Client")
    Set f2 = Sheets("Suivi")
    If MsgBox("Etes-vous certain de vouloir enregistrer le contenu  ?", vbYesNo, "Demande de confirmation") = vbYes Then
        derlig = f2.Range("A" & Rows.Count).End(xlUp).Row + 1
        f2.Range("A" & derlig) = f1.Range("K11").Value
        f2.Range("B" & derlig) = f1.Range("K13").Value
        f2.Range("C" & derlig) = f1.Range("K15").Value
        f2.Range("D" & derlig) = f1.Range("J8:L8").Value
        f2.Range("E" & derlig) = f1.Range("K5").Value
        f2.Range("F" & derlig) = f1.Range("E10:E11").Value
        f2.Range("G" & derlig) = f1.Range("F10:F11").Value
        f2.Range("H" & derlig) = f1.Range("G10:G11").Value
    
        f2.Range("J" & derlig) = f1.Range("K19").Value
        f2.Range("K" & derlig) = f1.Range("K22").Value
        f2.Range("L" & derlig) = f1.Range("H35").Value
        MsgBox "Les informations ont été transférées dans la feuille suivi"
    End If
    End Sub
    Cependant je suis confronté à un autre problème , dans ma feuille client, j'ai ma colonne E qui peut contenir 5 lignes de références pour un même client.il faudrait que je puisse tester la colonne E et transférer sur la feuille 2 les références sur plusieurs lignes puisque j'ai une seul colonne nommé référence.
    J'espère être clair encore merci pour votre aide

  7. #7
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonsoir
    Pour ne pas tourner en vide et aller directement au but peux tu envoyer un fichier test sans données confidentielles
    Avec un exemple précis

Discussions similaires

  1. [XL-2010] Macro Copie de cellules en fonction d'un num de ligne
    Par Eric1974 dans le forum Excel
    Réponses: 7
    Dernier message: 30/01/2020, 17h31
  2. Macro copie colle cellule vide
    Par cocole27 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/08/2017, 17h35
  3. [EXCEL 2010] Macro copie couleur cellule vers forme
    Par sbastitou dans le forum Excel
    Réponses: 3
    Dernier message: 14/10/2014, 10h59
  4. macro copie colle cellule vide
    Par tomAH74 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/05/2013, 14h21
  5. Macro Copie de cellules
    Par Pascalou2008 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/03/2008, 09h12

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