Copier /coller tableau de taille variable

Résolu
julia Namor Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   -  
julia Namor Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir
j'ai "piqué" ce code sur le net , je l'ai adapté comme tel : il permet de copier le tableau de la feuille A puis de le coller sur la feuille B à la suite du collage précédent. Seulement le collage se fait sur la derniére ligne vide .
Je voudrais le modifier pour un collage sur la derniére colonne vide.
Sub Coller_tab()
Application.ScreenUpdating = False
Dim E
Dim WsS As Worksheet, WsC As Worksheet
Dim i As Integer
Dim LigneAjout As Long
Dim colAjout As Long

E = Array("A")
Set WsC = Worksheets("B")
For i = 0 To UBound(E)
Set WsS = Worksheets(E(i))
LigneAjout = Application.Max(0, WsC.Range("A" & Rows.Count).End(xlUp).Row + 1)
Dim DernCol As Integer
DernCol = WsC.Range("A4").End(xlToRight).Column
MsgBox WsC.Range("A" & Rows.Count).End(xlUp).Row + 1
MsgBox WsC.Range("A1").End(xlToRight).Column
WsS.Range("$B$5:$K$18").Copy
With WsC.Range("A" & LigneAjout)
.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
End With
Next i
Set WsC = Nothing: Set WsS = Nothing

Worksheets("B").Range("A1").Select
Application.ScreenUpdating = True
End Sub


Merci d'avance de votre aide



A voir également:

7 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour
La copie se fait à partir de la ligne de la première cellule vide colonne À.
Et vous, vous voulez quoi?? Parceque la dernière colonne vide ça va pas le faire!!
0
julia Namor Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   33
 
Oup'ss!!!désolée pour mes explications de "fin de journée"
en fait la copie se fera à partir de la derniére cellule vide de la ligne A
Merci de votre aide f894009
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Maintenant,
Copier /coller tableau de taille variable
Vous avez une plage fixe:
 WsS.Range("$B$5:$K$18").Copy
!!!!!
Si vous avez une seule copie pas besoin de e=Array.. et for next
Alors ?????
0
julia Namor Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   33
 
Bonjour f894009

je voudrais effectuer effectivement plusieurs copies .
En fait le code fait exactement ce que je voudrais juste qu'il me faudrait:

Copier à partir de la COLONNE de la première cellule vide LIGNE A.

au lieu de

copier à partir de la ligne de la première cellule vide colonne A.
Merci de votre aide
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

Copier à partir de la COLONNE de la première cellule vide LIGNE A.
Ca faut l'expliquer car pas sur que ca existe
0
julia Namor Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   33
 
Re.

Mieux vaut un fichier que de se perdre en explications.
En fait je voudrait un résultat comme sur la feuille1 . ( tableau collé sur les colonnes)

https://www.cjoint.com/c/FKzhH6caT0A
merci
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,
Ok, mais tableau B incomplet, normale ou pas ?
Ou B c'est actuellement
Mais la question plage variable reste d'actualite

Suite:

Fichier modifie pour copie plage fixe
https://www.cjoint.com/c/FKzh6LSWTJf
0
julia Namor Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   33
 
"mais tableau B incomplet, normale ou pas ?"
-en clickant sur le bouton on peut rajouter autant de tableaux que l'on souhaite à la suite.
c'est la philosophie meme du code. Il faut que ça reste.

"Mais la question plage variable reste d'actualite"
-oui dans l'exemple, la plage du tableau est fixe
WsS.Range("$B$5:$K$18").Copy

mais dans mon projet elle est variable.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > julia Namor Messages postés 524 Date d'inscription   Statut Membre Dernière intervention  
 
Re,
j'ai mis votre fichier copie plage fixe. Je dois m'absenter pour le moment. Si a mon retour, personne n'a pris la suite, je vous ferai la copie variable
0

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

Posez votre question
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,
Z'etes toujours a l'ecoute ???

la plage a copier commence toujours en B5 ??
cette plage est variable en ligne et colonne ??
0
julia Namor Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   33
 
Oui oui!!!!!.... de retour
Finalement en revoyant mon projet , la plage à copier sera fixe. Du coup le probléme de la variabilité ne se pose plus.
Mais par contre certaines cellules du tableau à copier sont vides notamment sur la ligne A et cela améne un probléme à ce niveau
DernCol = WsC.Range("A4").End(xlToRight).Column + 1
du fait que l'instruction cherche la premiére cellulke vide.
Comment contourner ce probléme?
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,
derniere ligne/colonne utilisée de la feuille
derlig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
dercol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column


pour colonne d'une ligne ici 4
DernCol = Cells(4, Columns.Count).End(xlToLeft).Column
0
julia Namor Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   33
 
C'est tout bon .
Reste à adapter tout ceci dans le projet.
Grand merci f894009
0