Copier/coller ligne tableau

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

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

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

    1. Bonjour ,

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

  2. Re,

    Ok,

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

    1. Pouvez-vous etre plus explicite...

  3. 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
    
    1. Re,

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

      Cordialement JSCH19

  4. 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
    1. Re,

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

  5. 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?

    1. 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
      
  6. Re,

    Donc c'est ok?

    1. 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

  7. Re,

    Je vous ai mis des exemples

    Celle du post <7> est adoc

    Vous voulez que jevous face la modif?

    1. Re,

      Sans probleme. 

    2. @JSCH19

      Vous avez bien 56 colonnes dans vos tableaux?

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

    3. @f894009

      Re,

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

      je suis presque sur la bonne voie

    4. @JSCH19

      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