VBA copier/coller sur ligne suivante [Résolu]

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 !

guillaum

XLDnaute Junior
Bonjour le Forum,

Je me heurte à un problème qui pour vous sera je pense une formalité!

Je cherche à copier ce qui se trouve dans les cellules grisées et la verte (voir fichier joint) et coller le tout dans la feuille "enregistrement". J'arrive à faire le copier coller mais je n'arrive pas à coller à la ligne suivante qui est vide. Pour simplifier la sélection des données, je les ai rassemblées de i2 à m2.

J'ai trouvé plein de discussion sur le Forum mais je n'arrive pas à voir ce qu'il me manque.

Voici mon code:

Sub enregistre()

Dim Source As Range, destination As Range, ligne As Range

'feuille active
Set Source = ActiveSheet.Range("j2:n2")

With ThisWorkbook.Worksheets("enregistrement")
Set destination = .Range("a2:e2").End(xlUp)(2)
If destination.Row > 1 Or destination <> "" Then Set destination = destination.Offset(1, 0)
End With

For Each ligne In Source.Rows
If ligne.Cells(1, 1) <> "" Then
ligne.Copy
destination.PasteSpecial xlPasteValuesAndNumberFormats
Set destination = destination.Offset(2)
End If

Next ligne
Application.CutCopyMode = False

End Sub

Je vous remercie pour votre aide.

Guillaume
 

Pièces jointes

Dernière édition:
Re : VBA copier/coller sur ligne suivante

Bonjour guillaum, Bonjour le Forum,

Un bout de code qui devrait t'aider
Code:
Sub Renregistre()
Dim Rang As Variant
Dim DerLig As Integer

Sheets("Facture").Activate
Rang = Range("I2:N2")
Sheets("enregistrement").Activate
DerLig = Range("A1", Range("A65535").End(xlUp)).Rows.Count - 1
For i = LBound(Rang, 2) To UBound(Rang, 2)
    Cells(2 + DerLig, i) = Rang(1, i)
Next i
End Sub
A+ Jack2
 
Dernière édition:
Re : VBA copier/coller sur ligne suivante

Bonjour Jack2,

Merci pour ce code qui est plus clair et simple que le miens.
Ce que je n'arrive pas à faire c'est justement l'enregistrement à la ligne suivante car la feuille Facture sera modifiée au niveau des valeurs à chaque facture réalisée.

est-ce avec End(xlUP) que je peux faire cet enregistrement à la ligne, car j'ai testé avec ce code mais cela ne fonctionnait que sur 2 lignes!

Guillaume
 
- 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
4
Affichages
461
Retour