Macro pour copier coller en gardant la mise en forme

Résolu/Fermé
Messages postés
17
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
7 août 2013
-
Messages postés
12257
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
-
Bonjour je souhaiterai copier une ligne de B1 à BL1 se situant sur une feuille base, puis la coller dans une autre feuille et cela grâce à une macro.

J'ai testé cela:

Const nomFO = "Feuil1" ' nom de la feuille Origine
Const nomFD = "Feuil2" ' nom de la feuille Destination
Const CellD = "C3" ' cellule Destination

Sub copier()
Dim lifin As Long
lifin = Range("B" & Rows.Count).End(xlUp).Row
Sheets(nomFO).Range("B1:BL" & lifin).Copy Sheets(nomFD).Range(CellD)
End Sub

mais cela me copie aussi des lignes situé en dessous alors qu'elles sont vides et me supprime donc le contenu que j'avais en dessous.
Aidez moi !

6 réponses

Messages postés
12257
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 678
Bonjour,

Tu utilises une variable lifin qui te stocke le numéro de la dernière ligne utilisée de ta feuille Feuil1.
tu n'en as pas besoin car tu souhaites ne copier qu'une ligne.
Donc essaie ceci :
Const nomFO = "Feuil1" ' nom de la feuille Origine
Const nomFD = "Feuil2" ' nom de la feuille Destination
Const CellD = "C3" ' cellule Destination

Sub copier()
Sheets(nomFO).Range("B1:BL1").Copy Sheets(nomFD).Range(CellD)
End Sub

Messages postés
17
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
7 août 2013

Merci pijaku j'ai enlever ma variable lifin cependant maintenant j'ai ceci:

erreur d'exécution '1004'
erreur définie par l'application ou par l'objet

Je ne sais pas à quoi cela est du.

Si quelqu'un pourrait m'éclairer.
Messages postés
12257
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 678
Ca peut être du à pas mal de choses...
- tu n'as pas de feuille Feuil1
- tu n'as pas de feuille Feuil2
- L'une des feuilles est protégée, masquée...
- etc...
Messages postés
17
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
7 août 2013

J'ai bien une feuille 1 et une feuille 2 .
Comment voir si une de mes feuilles est protégée ou masquée ? ( mais je ne pense pas que se soit le cas )
Messages postés
12257
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 678
oui, tu as une feuile1 et une feuille2, mais elle ne s'appellerait pas "base" par exemple?
Là il nous faudrait un accès à ton classeur.
Messages postés
17
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
7 août 2013

Excuse moi pijaku mais je débute juste sur le forum commentçamarche pourrait tu m'indiquer comment joindre mon fichier dans un message.

Merci.
Messages postés
12257
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 678
bien sur.
Pour cela, il faut utiliser le site https://www.cjoint.com/index.php
Tu y va, crée un lien vers ton fichier et reviens ici coller le lien dans une réponse.
Bonjour

Copie que les valeur

Sub copier()
Feuil1.Range("B1:BL1").Copy
Feuil2.Range("C3").PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub

A+
Maurice
Bonjour

Donne au moin un modele ca serat plus simple pour voir ton probleme

A+

Maurice
Messages postés
17
Date d'inscription
mardi 23 juillet 2013
Statut
Membre
Dernière intervention
7 août 2013

Bonjour et merci de ton aide Maurice J'ai essayé ta méthode. Mais une autre erreur apparait :

Erreur d'éxécution'424':

Objet requis

Ce qui m'intéresse se serais de copier aussi la mise en forme si possible. ( Mais bon si déjà copier les valeurs ne fonctionnent pas, je vais peut être attendre )

A Plus.

Antoine
Bonjour

Voila avec les CodeName de tes Feuilles
ne pas confonde avec le non des onglets

Copy Tous

Sub copier3()
Feuil3.Range("B1:BL1").Copy
Feuil1.Range("C3").PasteSpecial xlPasteAll
Application.CutCopyMode = False
End Sub

A+

Maurice