1 pièce(s) jointe(s)
Copier coller différent, tableau sur un autre tableau
Bonjour,
fichier joint pour plus d'explication.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Dim a, b, c, d, e, f As Integer
a = 1
b = 1
c = 14
d = 20
e = 3
f = 2
Sheets("Feuil1").Select
Range(Cells(a, b), Cells(c, d)).Copy
Sheets("Feuil2").Select
Cells(e, f).Select
SELECTION.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False |
Serait-il possible que le "coller" se fasse sous la forme d'un autre tableau,
je précise que la longueur du tableau à copier peut varier.
En résumé, je voudrai copier la ("Feuil1") ou les N° occupent des lignes continues de 20N° sur la ("Feuil2") ou les N° occupent un tableau avec des lignes de 70N°.
Dans la ("Feuil2") chaque N° doit être mis dans sa ligne et colonne respective.
Fichier joint pour plus de compréhension.
Dans l'attente un grand merci !
cordialement
Ps: étant donné mon niveau assez faible en VBA, je souhaiterai que la forme d'écriture du code que vous m'enverrez, soit le plus ressemblant aux lignes plus haut.
Merci infiniment, cela me fait avancé dans mon ocean d'ignorance !
Citation:
Envoyé par
a_diard
Bonjour
ci dessous un code qui donne le résultat demande
Sub copiecoller()
Code:
1 2 3 4 5 6 7 8
|
Sheets("Feuil2").Range(Cells(3, 2), Cells(16, 71)).ClearContents
For ligne = 1 To 14
For colonne = 1 To 20
Sheets("Feuil2").Cells(ligne + 2, Sheets("Feuil1").Cells(ligne, colonne).Value + 1).Value = Sheets("Feuil1").Cells(ligne, colonne).Value
Next
Next
End Sub |
Si les tableaux evoluent, il faudrait le modifier avec des variables.
Merci infiniment, cela me fait avancé dans mon ocean d'ignorance ! Ce code est pour moi "SUBLIME".
Citation:
Envoyé par
a_diard
Petite variante en utilisant une variable tableau
ceci permet de copier les valeurs en une seule fois dans la feuille excel.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
Option Explicit
Option Base 1
Sub copiecollertableau()
Dim tableau(14, 70)
Dim ligne As Integer
Dim colonne As Integer
Dim colonnedestination As Integer
For ligne = 1 To 14
For colonne = 1 To 20
colonnedestination = Sheets("Feuil1").Cells(ligne, colonne).Value
tableau(ligne, colonnedestination) = Sheets("Feuil1").Cells(ligne, colonne).Value
Next
Next
Sheets("Feuil2").Range("B3:BS16") = tableau
End Sub |
encore merci, problème de tableau
RE, bonjour
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Option Explicit
Option Base 1
Sub copiecollertableau()
Dim tableau(14, 70)
Dim ligne As Integer
Dim colonne As Integer
Dim colonnedestination As Integer
For ligne = 1 To 14
For colonne = 1 To 20
colonnedestination = Sheets("Feuil1").Cells(ligne, colonne).Value
tableau(ligne, colonnedestination) = Sheets("Feuil1").Cells(ligne, colonne).Value
Next
Next
Sheets("Feuil2").Range("B3:BS16") = tableau
End Sub |
je joins votre code,
j'ai besoin de valeurs "tableau" que que je peux changer.
le tableau peut avoir des lignes ou colonne différente.
Ex: DIm tableau(28, 70),
comment faire pour avoir un tableau que je peut régler avec des Variables
il me semble qu'on appelle ça "un tableau dynamique":oops:
--------------
j'ai utilise votre code avec une boucle copier coller du tableau de "feuil1" sur "Feuil2" c'est OK, et ensuite je change les N° du Tableau de "Feuil1" et coller sur une "feuil3" que j'ai créé ,
le problème le code garde en mémoire le tableau de "feuil2" et le rajoute sur "feuil3" avec le nouveau tableau de "Feuil1".
Comment vider la mémoire du tableau.
Sans vouloir abusé, merci !
cordialement