XL 2013 Copier-Coller une plage variable

fourezizou

XLDnaute Occasionnel
Bonjour à tous,

J’ai une fiche avec des lignes variable exemple en cette pièce jointe 3 lignes je cherche une macro qui copier les lignes de (B14 a la ligne N non vide) en ce fichier de (B14/ : Q 16) selon le nombre des lignes de la colonne B et coller dans la feuille NOUVEL RECAP dans la dernière ligne non vide.

J’ai essayé avec une macro mais je n'arrive pas à réussir.

Merci pour votre collaboration.
 

Pièces jointes

  • Copier.xlsm
    18.8 KB · Affichages: 57
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour,

Désolé mais c'est incompréhensible !... C'est de B14 à N (non vide) ou de de B14 à Q16 ? Et que signifie vide ? Égal à zéro ou vide ?

Si que tu veux copier les colonnes B à Q des lignes 14 à la première ligne contenant zéro de la colonne N de l'onglet Fiche, pour les coller dans la première ligne vide de la colonne A de l'onglet Nouvel Recap. Essaie comme ça :

VB:
Sub Macro1()
Dim F As Worksheet 'déclare la variable F (onglet Fiche)
Dim N As Worksheet 'déclare la variable N (onglet Nouvel Récap)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)
Dim DL As Integer 'décalre la variable DL (Dernière Ligne)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

Set F = Worksheets("Fiche") 'définit l'ontglet F
Set N = Worksheets("Nouvel Récap") 'définit l'ontglet N
TV = F.Range("A13").CurrentRegion 'définit le tableau des valeurs TV
For I = 2 To UBound(TV) 'boucle sur toutes les ligne I du tableau des valeurs TV (en partant de la seconde)
    'si la donnée ligne I colonne 14 (=> N) de TV est égale à 0, définit la dernière ligne DL
    'en tenant compte que le tableau commence à la ligne 13, sort de la boucle
    If TV(I, 14) = 0 Then DL = I + 11: Exit For
Next I 'prochaine ligne de la boucle
'définit la cellule de destination DEST, première cellule vide de la colonne A de l'onglet N
Set DEST = N.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0)
F.Range("B14:Q" & DL).Copy DEST 'copie la plage B14:Q...DL et la colle dans DEST
End Sub
 

fourezizou

XLDnaute Occasionnel
Bonjour,

Désole le forum parce que j’ai mal exprime ce que je veux

J’ai essayé le VBA de Mr Robert mais j’ai trouvé un autre problème les cellules qui sont vides dans la feuille « Fiche » ont des formules et pour cela le code VBA ne fonctionne pas bien.

et je veux aussi un collage spécial valeur.
 

Pièces jointes

  • Copier-Coller une plage variable -2-.xlsm
    24.8 KB · Affichages: 35

Robert

XLDnaute Barbatruc
Repose en paix
Re,

Le code modifié :

VB:
Sub Macro1()
Dim F As Worksheet 'déclare la variable F (onglet Fiche)
Dim N As Worksheet 'déclare la variable N (onglet Nouvel Récap)
Dim DL As Integer 'décalre la variable DL (Dernière Ligne)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

Set F = Worksheets("Fiche") 'définit l'ontglet F
Set N = Worksheets("Nouvel Récap") 'définit l'ontglet N
DL = F.Cells(Application.Rows.Count, "C").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne C de l'onglet F
Set DEST = N.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0) 'définit la cellule de destination DEST
F.Range("B14:Q" & DL).Copy 'copie la plage B14:Q...DL
DEST.PasteSpecial (xlPasteValues) 'colle les valeurs de cette plage dans DEST
Application.CutCopyMode = False 'supprime le clignotement lié au copier/coller
End Sub
 

Si...

XLDnaute Barbatruc
Bonjour

@Robert ;) : « Je recommande toujours l’outil Tableau ! ».
Il permet de simplifier plein de choses et plus encore ...

En voici un exemple dans lequel la copie est faite en activant la seconde feuille.
Pour alléger le classeur on peut rajouter l’effacement du tableau de celle-ci en quitant l'onglet.

Il faudrait peut-être sérier les lignes à copier comme ici ?
 

Pièces jointes

  • Copie de Tableau.xlsm
    27.3 KB · Affichages: 67

Robert

XLDnaute Barbatruc
Repose en paix
Re,

Heu non ! Pas chez moi ! Ton fichier avec le code :

[Édition]
Bonjour Si, nos posts se sont croisés... Pour ma part je déteste l'outil Tableau...
 

Pièces jointes

  • FZ_v01.xlsm
    25.4 KB · Affichages: 64

Discussions similaires

Réponses
0
Affichages
148

Statistiques des forums

Discussions
312 203
Messages
2 086 196
Membres
103 153
dernier inscrit
SamirN