transfert de macro userform

  • Initiateur de la discussion Initiateur de la discussion patriick
  • 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 !

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
 
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....
 
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
 
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:
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
 
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.
 
- 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
2
Affichages
870
Réponses
22
Affichages
3 K
Retour