Problème VBA (.End(xlUp))

Bonjour à tous,

je me retrouve avec un problème VBA, qui me tire les cheveux depuis quelques jours.

Notamment sur mon module 1

Sub Feuille2()
Dim DrLigne&
With Sheets("Feuil2")
DrLigne = .Range("C" & Rows.Count).End(xlUp).Row
Range("C8:C9").Copy Destination:=.Range("C" & DrLigne + 2)
End With
End Sub

Nous aimerions déplacer le copier coller à la suite du tableau plus bas afin d'y renseigner des donner avant

exemple

Aujour'dui

image

Ce que nous aimerions faire :

image

Je suis conscient que c'est la formule .End(xlup) qui m'embête mais je trouve aucune solution, pour dépendre d'une ligne (par exemple A20) pour commencer la requête; puis prendre mon copier coller à la suite tout en sautant des lignes pour une meilleur compréhension

15macro-joris.xlsm (33.69 Ko)

Je vous joint aussi le fichier afin que vous puissiez comprendre la situation

Merci d'avance de votre aide

bonjour,

Sub Feuille2()

Dim DrLigne&

With Sheets("Feuil2")

DrLigne = .Range("C" & Rows.Count).End(xlUp).Row

Sheets("Feuil1").Range("C8:C9").Copy Destination:=.Range("C" & DrLigne + 2)

End With

End Sub

Bonjour BsAlv,

Merci de ton retour rapide, mais je ne comprend pas la différence ?

Range("C8:C9").Copy Destination:=.Range("C" & DrLigne + 2)

range("C8:C9") de la feuille active sera copié vers "Feuil2", donc si vous êtes dans la feuille1, ce macro fonctionne bien, au contraire, quand la feuille active est feuil2, vous n'êtes pas sure de cequi se passe.

Avec sheets("Feuil1").range("C8:C9"), l'origin est fixé, indépendant de la feuille active.

d'accord merci pour ce complement d'information.

Par contre avez vous une idée de comment je pourrais déplacer le tableau coller afin de ne plus dépendre du haut de la feuille ?

Merci d'avance en tout cas

excuses, j'ai mal lu la question

DrLigne = Application.Max(18, .Range("C" & Rows.Count).End(xlUp).Row)

ou

Range("C8:C9").Copy Destination:=.Range("C" & Application.Max(20, DrLigne + 2))

Merci tout fonctionne comme on le veut.

Vous etes geniaux !!!

Joris

Une dernière petite question BsAlv,

peux t'on faire ce copier coller mais en collant que les valeurs et non la mise en forme ?

Merci d'avance

Joris

méthode 1

Range("C8:C9").Copy
.Range("C" & DrLigne + 2).PasteSpecial xlValues

méthode 2
.Range("C" & Application.Max(20, DrLigne + 2)).Resize(2).Value = Range("C8:C9").Value

Rechercher des sujets similaires à "probleme vba end xlup"