Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[Résolu] Copier/coller avec mise en forme VBA - Problèmes !

nicolas1984

XLDnaute Nouveau
Bonjour à tous,

J'ai quelques difficultés à recopier des cellules avec mise en forme d'un classeur à un autre en VBA.

Voici mon code :

Code:
FeuilleSource.Rows("7:" & (lpp + 6)).Select
Selection.Copy
Feuille.Range("A1").Select
ActiveSheet.Paste
Où :
  • lpp est calculé et est de toute façon >1
  • FeuilleSource est défini par Set FeuilleSource = source.Sheets(magasin) et Set source = Excel.Workbooks("EtiquettesLogistique.xlsm") (magasin est bien défini lui aussi, c'est un nom d'onglet)
  • De même Feuille est bien défini (je peux écrire dedans sans problème avec .Range() par exemple), mais dans un autre classeur créé par la macro

J'ai essayé une quantité incroyable de méthodes, le copier/coller semble la plus adaptée (j'aurais préféré un recopiage direct du style FeuilleSource.Rows("7:" & (lpp + 6)).Copy Feuille.Rows("1:1")). Mais malheureusement ça ne fonctionne toujours pas, rien n'est copié dans la destination !

L'un d'entre vous aurait-il une idée svp ?
Là je tourne vraiment en rond !

Merci d'avance
 
Dernière édition:

Caillou

XLDnaute Impliqué
Re : Copier/coller avec mise en forme VBA - Problèmes !

Bonjour,

Tu ne dis pas ce qui ne fonctionne pas !
Le mieux serait de poster ton fichier (en partie s'il est trop volumineux)

Caillou
 

nicolas1984

XLDnaute Nouveau
Re : Copier/coller avec mise en forme VBA - Problèmes !

Bonjour,

Merci de ta réponse. Ce qui ne fonctionne pas, c'est que rien n'est copié dans la cellule de destination (je le disais bien ).

Je ne peux pas insérer le fichier (y'a du confidentiel dedans sorry), par contre voici la partie du code concerné :
Code:
Sub CreerEtiquettes()

Dim App As Excel.Application
Dim Classeur As Excel.Workbook
Dim Feuille, FeuilleSource, FeuilleLog As Excel.Worksheet
Dim magasin, produit, ref, nom_fichier, gencode, err, m(6), r(6), p(6), c(6), g(6), n(6), nc(6), d(6) As String
Dim source As Workbook
Dim commande, nb_colis, i, j, pcb, lpp, nbepp As Integer
Dim date_envoi As Date
Dim Wbk As Excel.Workbook

' Initialisation des variables
Set source = Excel.Workbooks("EtiquettesLogistique.xlsm")
Set FeuilleSource = source.Sheets("Informations")

'Création du classeur résultat
nom_fichier = ActiveWorkbook.Path & "\Etiquettes_" & magasin & "_" & commande & "_" & produit & ".xlsx"
Set App = CreateObject("Excel.Application")
App.DisplayAlerts = False
App.SheetsInNewWorkbook = 1
Set Classeur = App.Workbooks.Add
' Fermeture du fichier s'il existe déjà
For Each Wbk In Excel.Workbooks
    If UCase(Wbk.Path & "\" & Wbk.Name) = UCase(nom_fichier) Then
        Wbk.Close False
    End If
Next
' Enregistrement
Classeur.SaveAs (nom_fichier)
App.Visible = True
Set Feuille = Classeur.Worksheets(1)
Feuille.Name = "Etiquettes"
App.SaveWorkspace

lpp = FeuilleSource.Range("I1").Value
nbepp = FeuilleSource.Range("I2").Value

' Recopie du template
FeuilleSource.Rows("7:" & (lpp + 6)).Select
Selection.Copy
Feuille.Range("A1").Select
ActiveSheet.Paste
App.SaveWorkspace

End Sub
 

nicolas1984

XLDnaute Nouveau
Re : Copier/coller avec mise en forme VBA - Problèmes !

Le copier/coller n'est peut-être pas la meilleure solution, mais je n'en vois pas d'autre hélas pour recopier des lignes d'un fichier dans un autre
 

Discussions similaires

Réponses
11
Affichages
701
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…