XL 2016 [RESOLU]Simplifier macro issue de l'enregistreur

louatt

XLDnaute Junior
Bonjour,

j'ai une macro ci-dessous issue de l'enregistreur de macro, je cherche à la simplifier.

Au lieu de sélectionner la plage de A4:A54 je cherche à sélectionner de A4 à la dernière cellule remplie et coller les éléments .

Par avance merci pour votre aide.

VB:
'Aller dans l'onglet BD_VGP
    Sheets("BD_VGP").Select
    'Sélectionner de la cellule A4 jusqu'a la dernière ligne remplie au lieu de A54
    Range("A4:A54").Select
    Selection.Copy
    'Aller dans l'onglet BD_PV2
    Sheets("BD_PV2").Select
    'Se positionner dans la cellule B3
    Range("B3").Select
    'Coller les éléments copiés
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
 

pierrejean

XLDnaute Barbatruc
Bonjour louatt
A tester:
VB:
Sheets("BD_VGP").Range("A4:A" & Sheets("BD_VGP").Range("A" & Rows.Count).End(xlUp).Row).Copy
   Sheets("BD_PV2").Range("B3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
 

Staple1600

XLDnaute Barbatruc
Bonjour

Une autre façon de faire.
VB:
Sub Version_Simple()
Dim t
t = Sheets("BD_VGP").Cells(4, 1).Resize(Cells(Rows.Count, 1).End(3).Row - 3).Value
Sheets("BD_PV2").[B3].Resize(UBound(t, 1)) = t
End Sub
EDITION: Bonjour pierrejean ;)
 

louatt

XLDnaute Junior
Bonjour Pierrejean et Staple 1600,

merci pour vos réponses ça fonctionne je vais adapté ce code à mon projet merci encore.

Cordialement.
 

Staple1600

XLDnaute Barbatruc
Re

Une autre version commise pour cause de confinement ;)
(Faut bien s'occuper!)
VB:
Sub Version_Simple2()
Dim Rng As Range: Set Rng = Sheets("BD_VGP").Cells(4, 1).CurrentRegion.Columns(1)
Sheets("BD_PV2").[B3].Resize(Rng.Rows.Count) = Rng.Value
End Sub
NB: Cette version peut sans doute avoir des effets de bord (may be)
 

louatt

XLDnaute Junior
Staple 1600

merci mais vais finir par en perdre mon latin ☺

Ne m'en veux pas mais suis parti sur le code proposé par PierreJean☺

Par contre mon format date est collé au format numérique et je voudrais qu'il soit coller au format jj/mm/dddd

je cherche à modifier le code pour simplement coller lpas avec l'option valeur

VB:
'Date du contrôle
'Sélectionne la page BD_VGP et sélectionne de B4 à la dernière cellule remplie les dates du contrôle
Sheets("BD_VGP").Range("B4:B" & Sheets("BD_VGP").Range("B" & Rows.Count).End(xlUp).Row).Copy

'Sélectionne la page BD_PV2 se range en E3 et colle les données des dates de contrôle
   Sheets("BD_PV2").Range("E3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
 

pierrejean

XLDnaute Barbatruc
Re
reduire

Sheets("BD_PV2").Range("E3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

a

Sheets("BD_PV2").Range("E3").Paste
 

louatt

XLDnaute Junior
Merci Pierrejean,

je venais juste de trouver, j'avais une erreur car mal orthographié

Bonne journée

cordialement.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas