Copier /coller tableau de taille variable

Résolu
julia Namor Messages postés 532 Statut Membre -  
julia Namor Messages postés 532 Statut Membre -
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

7 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  2. julia Namor Messages postés 532 Statut Membre 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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
  3. julia Namor Messages postés 532 Statut Membre 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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
  4. julia Namor Messages postés 532 Statut Membre 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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
    2. julia Namor Messages postés 532 Statut Membre 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
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > julia Namor Messages postés 532 Statut Membre
         
        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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

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

    la plage a copier commence toujours en B5 ??
    cette plage est variable en ligne et colonne ??
    0
  7. julia Namor Messages postés 532 Statut Membre 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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
  8. julia Namor Messages postés 532 Statut Membre 33
     
    C'est tout bon .
    Reste à adapter tout ceci dans le projet.
    Grand merci f894009
    0