transfert de macro userform

patriick

XLDnaute Nouveau
Bonsoir,
Je suis pas doué, j'ai pompé une macro il y a un certain temps et l'ai intégré dans un fichier, cela marche. 3/4 ans après j'ai besoin du même genre de masque, je recopie la macro en l'adptant à mon besoin actuel et çà bugue sur cette ligne (en rouge ) :

Range("O1").Select
Selection.End(xlDown).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
'Range("O1013").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End With

Et je vois pas trop ou chercher...
Merci de votre aide
 

skoobi

XLDnaute Barbatruc
Re : transfert de macro userform

Bonsoir patriick et bienvenue sur XLD,

A mon avis la copie se fait sur la dernière ligne de la feuille ce qui fait que la limite de la feuille est atteinte et "ActiveCell.Offset(1, 0).Select" signifie sélectionne la ligne suivante donc sa plante, mais comme tu n'as pas envoyé le fichier....
 

Roland_M

XLDnaute Barbatruc
Re : transfert de macro userform

bonsoir
ActiveCell.Offset(1, 0).Select me semble inutile !?
si tu Paste sur 'Range("O1013").Select semble t'il !?
sinon tu sauves l'adresse avant Copy et tu fais Range("xxxx").select avant Paste

Roland
 

patriick

XLDnaute Nouveau
Re : transfert de macro userform

Merci de vos réponses rapides, mais je n'y comprend rien...

Le même script sur le fichier original fonctionne. Je vous joins le fichier, merci du coup de main...
 

Pièces jointes

  • demo.xls
    47.5 KB · Affichages: 97
  • demo.xls
    47.5 KB · Affichages: 97
  • demo.xls
    47.5 KB · Affichages: 101

patriick

XLDnaute Nouveau
Re : transfert de macro userform

J'ai mis la ligne activcell en remarque et çà marche sans bug apparemment.

Par contre le curseur se retrouve en bas du fichier, comment le positionner sur la ligne saisie?
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : transfert de macro userform

bonsoir, essai ceci
' après >>> Range(Selection, Selection.End(xlToRight)).Select
' ajoute >>> NoLig = Selection.Row: NoCol = Selection.Column
' après >>> Application.CutCopyMode = False
' ajoute >>> Cells(NoLig, NoCol).Select
Roland
 

skoobi

XLDnaute Barbatruc
Re : transfert de macro userform

Re bonjour tout le monde,

où alors ceci:

Set déb = Range("O1").End(xlDown)
Range(déb, déb.End(xlToRight)).Copy Range("O1013")

Cela permet d'éviter les ".Select" qui proviennent de l'enregistreur de macro qui "pollue" inutilement et ralentie la macro.
 

Discussions similaires

Réponses
2
Affichages
738

Statistiques des forums

Discussions
312 378
Messages
2 087 758
Membres
103 660
dernier inscrit
205 Peugeot