Copier/coller ligne tableau
f894009 Messages postés 17414 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
- Copier/coller ligne tableau
- Tableau word - Guide
- Historique copier coller - Guide
- Copier-coller - Accueil - Informatique
- Tableau ascii - Guide
- Copier coller pdf - Guide
8 réponses
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionRe,
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?
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
Re,
Donc c'est ok?
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
Bonjour ,
On copie a partir d' Article a Prix HT ("D:G") parce que la colonne piece sera rempli a partir d'un textbox.