je veux faire une macro qui me copie les colonnes B et F , pour les coller dans le 2ème tableau dans la colonne A et D .
Alors que ils ne sont pas dans e même ordre.
Voici un fichier d'exemple
Sub Colle()
Application.ScreenUpdating = False
N = [Tableau7].Rows.Count
For i = 1 To [Tableau5].Rows.Count
[Tableau7].ListObject.ListRows.Add
[Tableau7[Classes]].Item(N + i) = [Tableau5[Classe]].Item(i)
[Tableau7[Periode3]].Item(N + i) = [Tableau5[Resultat]].Item(i)
Next i
End Sub
Sub Colle()
Application.ScreenUpdating = False
N = [Tableau7].Rows.Count
For i = 1 To [Tableau5].Rows.Count
[Tableau7].ListObject.ListRows.Add
[Tableau7[Classes]].Item(N + i) = [Tableau5[Classe]].Item(i)
[Tableau7[Periode3]].Item(N + i) = [Tableau5[Resultat]].Item(i)
Next i
End Sub
bien sûr j'ai appliqué ma macro puis celle de sylvanu, et j'ai refais ça en ajoutant la " Call colle " après le code mais ça me donne un message d'erreur sur ce code, je sais pas prq?
Sub Copier()
With [Tableau7]
[Tableau5].Columns(2).Copy .Cells(.Rows.Count + 1, 1)
[Tableau5].Columns(6).Copy .Cells(.Rows.Count + 1, 4)
If Application.CountBlank(.Columns(1)) Then .Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'supprime les lignes vides
End With
End Sub
Sub Copier()
With [Tableau7]
[Tableau5].Columns(2).Copy .Cells(.Rows.Count + 1, 1)
[Tableau5].Columns(6).Copy .Cells(.Rows.Count + 1, 4)
If Application.CountBlank(.Columns(1)) Then .Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'supprime les lignes vides
End With
End Sub
j'ai appliquée ta formule mais on me copie toujours les colonnes entres les deux demandés.
un Exemple trop simple : je veux copier la colonne B et E . je copie et je colle la colonne B et on me colle la colonne B et C et D et E.
Alors que moio je demande juste la colonne B et E non pas ce qui est entre eux .
Merci
j'ai appliquée ta formule mais on me copie toujours les colonnes entres les deux demandés.
Alors que moio je demande juste la colonne B et E non pas ce qui est entre eux .
Sur le fichier du post #1 il n'y a pas de couleur de fond sur les colonnes B et F, les couleurs sont les couleurs automatiques des tableaux structurés.
Néanmoins on peut ne copier que les valeurs :
VB:
Sub Copier()
With [Tableau7]
.Cells(.Rows.Count + 1, 1).Resize([Tableau5].Rows.Count) = [Tableau5].Columns(2).Value
.Cells(.Rows.Count + 1, 4).Resize([Tableau5].Rows.Count) = [Tableau5].Columns(6).Value
If Application.CountBlank(.Columns(1)) Then .Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'supprime les lignes vides
End With
End Sub
je suis désolée pour ce retard j'avais des empêchements,
j'ai trouvé que l'erreur revient au fait que mon tableau contient des formules dans les colonnes du milieu . du coup ça me copie toujours les données des colonnes du milieu