XL 2013 Copier-Coller une plage variable

  • Initiateur de la discussion Initiateur de la discussion fourezizou
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

Dernière édition:
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
 
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

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
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
271
  • Question Question
Microsoft 365 Vba
Réponses
3
Affichages
217
Retour