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 une ligne d'un tableau dans une autre feuille


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 12
    Points : 7
    Points
    7
    Par défaut macro copier coller une ligne d'un tableau dans une autre feuille
    Bonjour

    jai crée une feuille excel personalisé a chaque personne, chaque personne renseigne une ligne d'un tableau.
    j'aimerai à l'aide d'une macro copier et coller les données renseigné dans cette ligne sur une autre page.
    car une fois que une autre personne rentre dans le fichier elle viendra ecraser les données.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    bonsoir,

    est que sais tu faire ?

    il y as plein d'exemple de copier/coller ... commence à écrire du code est à définir l'organisation de ton (tes) classeur excel est l'on t'aideras

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Voila j'ai esssayé un code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Worksheets("FEUIL1").Activate
    Range("D4:D8").Select
    Selection.Copy
    Worksheets("FEUIL2").Activate
    Range("A1").End(xlUp).Select
    ActiveSheet.Paste

  4. #4
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Worksheets("FEUIL2")
        Worksheets("FEUIL1").Range("D4:D8").Copy .Cells(.Rows.Count, "A").End(xlUp)(2)
    End With
    On copie D4: D8 de feuil1 vers la cellule en dessous de la dernière cellule remplie de la colonne A de Feuil2
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 12
    Points : 7
    Points
    7
    Par défaut merci beaucoup
    sa marche parfaitement c'est géniale. Merci beaucoup
    j'aurais encore une question
    j'aimerai que sur la feuile 2, qu' il y ai une ligne par personne.
    dans la feuille 2 dans la première colonne j'ai le nom de toutes les personnes

    es ce que c'est possible de copier coller une ligne en face de la bonne personne, et que chaque fois qu'il renseignerai le tableau, les nouvelles données écraserai les anciennes.

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Voila :

    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
    Sub Macopie()
        Dim shS As Worksheet 'Source
        Dim shD As Worksheet 'destination
        Dim rCh As Range ' Nom a chercher
        Dim iDest As Integer 'Ligne de destination dans feuille
        Set shS = ThisWorkbook.Worksheets("FEUIL1") ' Feuille source
        Set shD = ThisWorkbook.Worksheets("Feuil2") ' Feuille destination
        Set rCh = shS.Range("A2") ' Cellule contenant le nom à chercher
        On Error Resume Next 'Pour éviter les messages d'erreur sur recherche infructueuse
        iDest = Application.WorksheetFunction.Match(rCh, shD.Range("A:A"), 0)
        On Error GoTo 0
        If iDest = 0 Then 'Cas ou pas trouvé on rajoute une ligne
            iDest = shD.Range("A65535").End(xlUp).Row + 1
        End If
        shS.Range("A2:D2").Copy shD.Cells(iDest, "A")
    End Sub

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 12
    Points : 7
    Points
    7
    Par défaut merci
    J'ai essayé ça un petit programme ça marche parfaitement


    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
    Sheets("plateforme personnel").Select
        ID = Cells(1, 1)
     
     
        Sheets("Feuil2").Select
        Range("A1").Select
     
        For i = 1 To 500
        If Cells(i, 1) = ID Then
            Ind = i
            i = 500
        End If
        Next
     
        Sheets("plateforme personnel").Select
        Range("D15:P15").Select
        Selection.Copy
     
        Sheets("Feuil2").Select
        Cells(Ind, 2).Select
     
        ActiveSheet.Paste
       ActiveWorkbook.Save
     
     
     
        Sheets("Feuil2").Select

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par sonichou Voir le message
    J'ai essayé ça un petit programme ça marche parfaitement
    Jusqu'à ce que ça plante à cause des Select, Selection et autres ActiveSheet...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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

Discussions similaires

  1. [XL-2003] copier coller avec des séparateur puis formatage sur une ligne
    Par kalwin dans le forum Excel
    Réponses: 3
    Dernier message: 17/09/2010, 19h45
  2. Réponses: 1
    Dernier message: 08/05/2009, 23h12
  3. [Débutant] ajout d'une ligne d'un tableau dans IE
    Par zais_ethael dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/06/2008, 02h59
  4. [Tableau] Insérer une ligne dynamique à un tableau statique
    Par michaeljeru dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 11/06/2008, 10h38
  5. Tableau avec une ligne d'en-tête et une colonne fixe
    Par heddicmi dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 22/11/2006, 18h45

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