Copie mise en forme excel

Signaler
Messages postés
23
Date d'inscription
mercredi 11 mars 2009
Statut
Membre
Dernière intervention
10 février 2020
-
Messages postés
14481
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juillet 2020
-
Bonjour,


Je cherche le code pour copier la mise en forme d'un ligne excel remplie sur la ligne juste en dessous.

le code VBA interne a excel est celui la :

Range(Cells(ligne - 1, 1), Cells(ligne - 1, 4)).Select
                    Selection.Copy
                    Range(Cells(ligne, 1), Cells(ligne, 4)).Select
                    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
                    SkipBlanks:=False, Transpose:=False
                    Application.CutCopyMode = False


Je cherche à l’adapté dans visual studio sur mon programme VB.NET mais sans succès jusqu'ici :

Voici mon debut de code :

'ouverture de excel
        ExcelObj = CreateObject("excel.application") 'Ouverture de Excel
        ExcelObj.Application.Visible = False 'Excel est visible
        ExcelDoc = ExcelObj.Workbooks.Open(FileDtbeServer)   'Ouverture du fichier listing
        ExcelAct = ExcelObj.ActiveWorkbook.Worksheets("HEURES") 'Nom de onglet de la page
        'recherhce derniere ligne
        DerLine = ExcelAct.Range("A1048576").End(XlDirection.xlUp).Row
        ExcelAct.Range(DerLine).Select()
        ExcelAct.Selection.Copy
        ExcelAct.Range(DerLine + 1).Select()


Ce code fonctionne bien pour trouver la dernier ligne remplie, mais la suite avec Range et Select ne fonctionne pas.

Merci de votre aide

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

3 réponses

Messages postés
14481
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juillet 2020
420
Bonjour

c'est un fichier xls ou xlsx?
Messages postés
23
Date d'inscription
mercredi 11 mars 2009
Statut
Membre
Dernière intervention
10 février 2020

c'est un fichier xlsx

--
Messages postés
14481
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juillet 2020
420
Alors à moins d'avoir besoin de voir évoluer le contenu du fichier au fur et à mesure, passer par l'automation est plus lent que de créer (ou modifier) le document et l'ouvrir ensuite.

J'ai écrit un petit wrapper openxml, qui permet entre autre de copier un format http://codes-sources.commentcamarche.net/source/102062-excel-avec-openxml
Messages postés
14481
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juillet 2020
420
Ps: merci à NHenry d'avoir éditer ta question pour y mettre la coloration syntaxique