Copier/coller ligne tableau

JSCH19 Messages postés 134 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -

Bonsoir le forum,

je cherche a copier des lignes specifique d'un tableau vers un autre,

pour illustrer ma demande:

disons que j'ai deux tableaux,Tableau1 et Tableau2 composes de 6 colonnes ("B:G")

j'aimerais copier a partir des colonnes ("D:G") du tableau1 vers les colonnes respectives du Tableau2

voila mon code et un exemple du fichier que j'utilise.

https://drive.google.com/file/d/13foDZopZgsh-ejToDPwcZVy9GuqKA4wW/view?usp=sharing

Dim ligne%, X%

  [B7].CurrentRegion.Sort , key1:=[B7], Header:=xlYes
  ligne = 7: X = 4
  
    While Sheet1.Cells(ligne, 3).Value <> Empty
    
    If Sheet1.Cells(ligne, 3).Value = "TR-0000001" Then
    
       Sheet2.Cells(ligne, X).Value = Sheet1.Cells(ligne, X).Value
       
    X = X + 1
    
    End If
    
    ligne = ligne + 1
    
    Wend

NB:mais en realite mon tableau comporte 56 colonnes

Cordialement JSCH19

8 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Bonjour,

    Pourquoi copier que D:G, les autres colonnes servent a quoi?

    0
    1. JSCH19 Messages postés 134 Statut Membre
       

      Bonjour ,

      On copie a partir d' Article a Prix HT ("D:G") parce que la colonne piece sera rempli a partir d'un textbox.

      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Re,

    Ok,

    Connaissez vous les instructions relatives a la gestion des Tableaux (Table)?

    0
    1. JSCH19 Messages postés 134 Statut Membre
       

      Pouvez-vous etre plus explicite...

      0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Re,

    Vous avez deux tables ou plus exacement Tableaux

    'test cellule "normale"
    If .Cells(ligne, 3).Value = "TR-0000001" Then
    'test cellule d'un tableau
    If Tableau1.DataBodyRange.Item(n, 2).Value = "TR-0000001" Then
    'ou sans accents pour les noms de colonne
    If Range("table1[Pieces]").Item(i).Value = "TR-0000001" Then
    
    0
    1. JSCH19 Messages postés 134 Statut Membre
       

      Re,

      Oui je connais parfaitement les instructions relatives a la gestion d'un tableau... Pourquoi cette question?

      Cordialement JSCH19

      0
  4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Re,

    Pourquoi ne les utilisez vous pas?

    sans tableau:copie plage vers une autre plage:

    Cells(10, 4).Resize(, 4) = Cells(4, 4).Resize(, 4).Value
    0
    1. JSCH19 Messages postés 134 Statut Membre
       

      Re,

      Laisse moi essaye avec ce que tu m as propose, avez-vous access au lien dont j'ai poste?

      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Re,

    J'ai recupere votre fichier. C'est comme ca que j'ai constate que vous n'utilisez pas les instructions tableau

    servira pas trop a grand chose que j'utilise les cells ou autres

    Et que voulez vous utiliser pour completer votre table14?

    0
    1. JSCH19 Messages postés 134 Statut Membre
       

      jlai modifie,jn'avais pas vue ta modification avant que je poste ce message,je travaille la-dessus,imaginez-vous que dans mon tableau reel j'ai 56 colonnes

      je ne voulais pas me retrouver a ecrire:

            Sheet2.cells(ligne, 4).Value = Sheet1.cells(ligne, 4).Value
            Sheet2.cells(ligne, 5).Value = Sheet1.cells(ligne, 5).Value
            Sheet2.cells(ligne, 6).Value = Sheet1.cells(ligne, 6).Value
            Sheet2.cells(ligne, 7).Value = Sheet1.cells(ligne, 7).Value
      
      0
  7. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Re,

    Donc c'est ok?

    0
    1. JSCH19 Messages postés 134 Statut Membre
       

      Re,

      Pas encore je cherche une solution beaucoup plus efficient et moins volumineux.

      exemple:

      Dim ligne%, X%
      
        [B7].CurrentRegion.Sort , key1:=[B7], Header:=xlYes
        ligne = 7: X = 4
        
          While Sheet1.Cells(ligne, 3).Value <> Empty
          
          If Sheet1.Cells(ligne, 3).Value = "TR-0000001" Then
           
             Sheet2.Cells(ligne, X).Value = Sheet1.Cells(ligne, X).Value
      
          Do Until X = 8
          
             Sheet2.Cells(ligne, X).Value = Sheet1.Cells(ligne, X).Value
             
          X = X + 1
          
          Loop
      
          End If
          
          ligne = ligne + 1
      
          Wend
          
      

      mais ce code n'est pas encore a point,toute proposition est la bienvenue.

      Cordialement JSCH19

      0
  8. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Re,

    Je vous ai mis des exemples

    Celle du post <7> est adoc

    Vous voulez que jevous face la modif?

    0
    1. JSCH19 Messages postés 134 Statut Membre
       

      Re,

      Sans probleme. 

      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > JSCH19 Messages postés 134 Statut Membre
       

      Vous avez bien 56 colonnes dans vos tableaux?

      De B a ..........

      0
    3. JSCH19 Messages postés 134 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       

      Re,

      Oui exactement,vous avez essaye le dernier code dont j'ai poste?

      je suis presque sur la bonne voie

      0
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > JSCH19 Messages postés 134 Statut Membre
       

      Re,

      je suis presque sur la bonne voie

      Ben non. C'est le meme style de code qu'au debut

      Je vous arange la chose

      0
    5. JSCH19 Messages postés 134 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       

      Re,

      Ok! je vous attends!

      0
  9. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Re,

    Une facon de faire:  https://www.cjoint.com/c/LIbro770szg

    0
    1. JSCH19 Messages postés 134 Statut Membre
       

      Re,

      Tu l'as resolu avant moi... mais je n'y avais pas pensé a cette methode mais je vais l'adapter a mon fichier.

      Un grand merci @f894009!!!

      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > JSCH19 Messages postés 134 Statut Membre
         

        Bonjour,

        C'est ce qu'il y a de plus simple

        0