begin process at 2012 02 12 12:06:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > CODE PERMETTANT DE MANIPULER LES OBJETS EXCEL EN .NET

CODE PERMETTANT DE MANIPULER LES OBJETS EXCEL EN .NET


 Information sur la source

Note :
8,8 / 10 - par 10 personnes
8,80 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Source .NET ( DotNet ) Classé sous :excel, classeur, feuille Niveau :Débutant Date de création :12/07/2006 Date de mise à jour :27/11/2006 17:35:09 Vu :33 739

Auteur : Drikce06

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (46)
Ajouter un commentaire et/ou une note


 Description

Le code montre juste les grandes lignes de la manipulation d'une application Excel.

Source

  • 'En complément de la source:
  • 'http://www.vbfrance.com/codes/OUVERTURE-APPLICATION-EXCEL-AVEC-OPENFILEDIALOG-VUE-MANIPULER-APPLICATION_38376.aspx
  • 'Après avoir ouvert l'application excel voici quelques exemple de code
  • ' qui permettent de travailler dans le classeur
  • Dim appxls As Microsoft.Office.Interop.Excel.Application
  • Dim sheet As Microsoft.Office.Interop.Excel.Workbook
  • Sub ModifFichierExcel()
  • appxls = New Microsoft.Office.Interop.Excel.Application
  • appxls.Visible = True
  • 'Ajouter un nouveau classeur
  • appxls.Workbooks.Add()
  • 'Enregistrer sous le classeur
  • appxls.ActiveWorkbook.SaveAs("C:\NouveauClasseur")
  • 'Enregistrer
  • appxls.ActiveWorkbook.Save()
  • 'Selectionner une feuille
  • appxls.ActiveWorkbook.Worksheets("Feuil1").Select()
  • 'Renommer une feuille
  • appxls.ActiveWorkbook.Worksheets("Feuil1").Name = "NouveauNom"
  • 'Ajouter une feuille après la dernière feuille
  • appxls.Worksheets.Add(After:=appxls.Worksheets(appxls.Worksheets.Count))
  • 'Et la renommer
  • appxls.ActiveSheet.Name = "NouveauNom2"
  • 'Ranger une valeur dans une cellule sans que le feuille et la cellule de destination ne soient sélectionnées
  • Dim value As String = "valeur"
  • appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Value = value
  • 'Récupérer la valeur d'une cellule
  • value = appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Value
  • 'Mettre une formule dans une cellule
  • appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Formula = "=A2+A3"
  • 'Arrondir une valeur pour la mettre dans une cellule
  • Dim value1 As Decimal = 6.55957
  • appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Value = Decimal.Round(value1, 2)
  • 'Sélectionner une cellule
  • sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")
  • sheet.Activate()
  • sheet.Cells(1, 1).Select()
  • 'ou
  • sheet.Range("A2").Select()
  • 'Sélectionner une plage de cellule
  • sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")
  • sheet.Activate()
  • sheet.Range("A2:C10").Select()
  • 'Sélectionner plusieurs cellues
  • sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")
  • sheet.Activate()
  • sheet.Range("A2;C10;D12").Select()
  • 'Copier une cellule
  • sheet.Range("A1").Copy()
  • 'Couper une cellule
  • sheet.Range("A1").Cut()
  • 'Coler la cellule
  • sheet.Range("A2").PasteSpecial()
  • 'PasteSpecial: si pas d'argument fait un collage normal
  • 'sinon on peut définir des agrgument tel que coller la mise en forme, la valeur...
  • 'Supprimer une ligne
  • sheet.Rows(1).delete()
  • 'Supprimer une colonne
  • sheet.Columns(1).delete()
  • 'Recopie automatique de formule et autre
  • Dim xlFillDefault As Microsoft.Office.Interop.Excel.XlAutoFillType
  • sheet.Range("A8:A9").Select()
  • sheet.Range("A8:A9").AutoFill(Destination:=sheet.Range("A8:A20"), Type:=xlFillDefault)
  • 'imprimer un feuille
  • appxls.ActiveWorkbook.Worksheets("NouveauNom").Activate()
  • appxls.ActiveWindow.SelectedSheets.PrintOut()
  • 'imprimer un feuille en passant par l'aperçu avant impression
  • appxls.ActiveWorkbook.Worksheets("NouveauNom").Activate()
  • appxls.ActiveWindow.SelectedSheets.PrintPreview()
'En complément de la source:
    'http://www.vbfrance.com/codes/OUVERTURE-APPLICATION-EXCEL-AVEC-OPENFILEDIALOG-VUE-MANIPULER-APPLICATION_38376.aspx
    'Après avoir ouvert l'application excel voici quelques exemple de code
    ' qui permettent de travailler dans le classeur

    Dim appxls As Microsoft.Office.Interop.Excel.Application
    Dim sheet As Microsoft.Office.Interop.Excel.Workbook

    Sub ModifFichierExcel()

        appxls = New Microsoft.Office.Interop.Excel.Application
        appxls.Visible = True

        'Ajouter un nouveau classeur
        appxls.Workbooks.Add()

        'Enregistrer sous le classeur
        appxls.ActiveWorkbook.SaveAs("C:\NouveauClasseur")

        'Enregistrer
        appxls.ActiveWorkbook.Save()

        'Selectionner une feuille
        appxls.ActiveWorkbook.Worksheets("Feuil1").Select()

        'Renommer une feuille
        appxls.ActiveWorkbook.Worksheets("Feuil1").Name = "NouveauNom"

        'Ajouter une feuille après la dernière feuille
        appxls.Worksheets.Add(After:=appxls.Worksheets(appxls.Worksheets.Count))
        'Et la renommer
        appxls.ActiveSheet.Name = "NouveauNom2"

        'Ranger une valeur dans une cellule sans que le feuille et la cellule de destination ne soient sélectionnées
        Dim value As String = "valeur"
        appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Value = value

        'Récupérer la valeur d'une cellule
        value = appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Value

        'Mettre une formule dans une cellule
        appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Formula = "=A2+A3"

        'Arrondir une valeur pour la mettre dans une cellule
        Dim value1 As Decimal = 6.55957
        appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Value = Decimal.Round(value1, 2)

        'Sélectionner une cellule
        sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")
        sheet.Activate()
        sheet.Cells(1, 1).Select()
        'ou
        sheet.Range("A2").Select()

        'Sélectionner une plage de cellule
        sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")
        sheet.Activate()
        sheet.Range("A2:C10").Select()

        'Sélectionner plusieurs cellues
        sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")
        sheet.Activate()
        sheet.Range("A2;C10;D12").Select()

        'Copier une cellule
        sheet.Range("A1").Copy()

        'Couper une cellule
        sheet.Range("A1").Cut()

        'Coler la cellule
        sheet.Range("A2").PasteSpecial()
        'PasteSpecial: si pas d'argument fait un collage normal
        'sinon on peut définir des agrgument tel que coller la mise en forme, la valeur...

        'Supprimer une ligne
        sheet.Rows(1).delete()

        'Supprimer une colonne
        sheet.Columns(1).delete()

        'Recopie automatique de formule et autre
        Dim xlFillDefault As Microsoft.Office.Interop.Excel.XlAutoFillType
        sheet.Range("A8:A9").Select()
        sheet.Range("A8:A9").AutoFill(Destination:=sheet.Range("A8:A20"), Type:=xlFillDefault)

        'imprimer un feuille
        appxls.ActiveWorkbook.Worksheets("NouveauNom").Activate()
        appxls.ActiveWindow.SelectedSheets.PrintOut()

        'imprimer un feuille en passant par l'aperçu avant impression
        appxls.ActiveWorkbook.Worksheets("NouveauNom").Activate()
        appxls.ActiveWindow.SelectedSheets.PrintPreview()



 Historique

27 novembre 2006 17:35:09 :
.

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) PARCOURIR TOUS LES FICHIERS ET SOUS RÉPERTOIRES D'UN RÉPERTO...
Source .NET (Dotnet) OUVERTURE D'UNE APPLICATION EXCEL AVEC OPENFILEDIALOG EN VUE...

 Sources de la même categorie

Source avec Zip DLL PERSONNALISÉ AVEC ÉVÈNEMENTS ET PROPRIÉTÉS EN VB6. par Number7
Source avec Zip Source .NET (Dotnet) EXEMPLE DU TUTORAIL "CLASSES MÉTIER" par Adn56
Source avec Zip Source avec une capture Source .NET (Dotnet) GESTION DES LISTES : RANGEMENT (LIST.SORT) ET FILTRAGE (LIST... par kbalist
Source avec Zip EXEMPLE SUR LES MENUS POUR AIDER LES DÉBUTANTS COMME MOI ;-) par viragoloco
LES OPÉRATIONS DE LA LISTE CHAINÉE par smaili

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture ÔTER PROTECTION FEUILLE D'UN CLASSEUR EXCEL & TROUVER MOT D... par stef68600
Source avec Zip Source .NET (Dotnet) TRIEUSE EXCEL AVEC VB.NET par Baguauda
MACRO POUR TRIER LES FEUILLES D'UN CLASSEUR EXCEL par ZTPdiffusion
TRIER LES FEUILLES D'UN CLASSEUR EXCEL par ZTPdiffusion
PRÉCÉDENT SUIVANT par Zackarry

Commentaires et avis

Commentaire de TOTOCHITO le 13/07/2006 10:39:15

merci beaucoup pour ces exemples de code.
petite question quelle reference ajoutes tu pour faire référence à
microsoft.office.interop.excel.application

Je travaille avec office 97 et je n'arrive pas à trouver la librairie à charger

Commentaire de Drikce06 le 13/07/2006 10:52:57

Salut il suffit d'ajouter excel en référence, mais moi dans mon code je suis obligé d'ajouter microsoft.office.interop par ce que je travail avec VB2005 Express Edition. Selon ce que tu utilise comme programme, après avoir mis excel en référence, tu n'est pas obligé de le mettre.
Par exemple: Dim appxls as Excel.Application suffit.

Commentaire de TOTOCHITO le 13/07/2006 11:10:57

merci
quel office utilises tu car j'ai un programme qui tourne avec de l'exportation de données vers excel et j'ai des probleme de libération de mémoire et j'ai l'impression que office 97 et xp pro ne font pas bon ménages.

Commentaire de Drikce06 le 13/07/2006 11:26:29

J'ai office 2003 sur xp pro sp2

Commentaire de TOTOCHITO le 13/07/2006 11:34:50

Merci pour tes renseignements bonne contination

Commentaire de jimmy69 le 13/07/2006 13:13:43

Salut salut,

Cool vraiment cool ton p'tit exemple ..ca merite une bonne note ;-) !

De plus, ca tombe bien je dois generer avec du code C# un rapport sous excel ..

Ca va bien m'aider !

Bonne continuation
Christophe
Un bouillonnais

Commentaire de Drikce06 le 13/07/2006 14:39:03

Merci ça fait plaisir

Commentaire de mortalino le 14/07/2006 01:04:39

Salut Drikce, le code est clair est bien présenté donc je te met 8 mais je pense que cela aurait été mieux de l'avoir mis en tutorial !

++
Mortalino

Commentaire de Drikce06 le 17/07/2006 13:06:49

Salut mortalino, c'est possible de changer?

Commentaire de 76cacash le 16/08/2006 13:30:46

salut,

ton programme m'aide bcp mais sait tu comment on pourrai faire pour créer un graph a partir de valeur dans un tableau?

merci

Commentaire de stekiyeki le 06/10/2006 09:26:33

Salut,
super code mais chez moi j'obtiens une erreur à la ligne:
appxls.Workbooks.Add()  ' Old Format or Invalid Type Library.
J'utilise pourtant la reference excel version 11. Je suis sur visual studio 2003.
Quelqu'un a une idée?
Merci.

Commentaire de Drikce06 le 06/10/2006 09:48:54

Salut, désolé mais j'ai pas d'idée, moi j'ai vb2005 express edition avec excel 11 en référence et ça fonctionne bien.

Commentaire de stekiyeki le 06/10/2006 09:59:54

En fait je viens de trouver ;)
Celà est du à une différence de langue entre excel et visual.
Il faut rajouter cette ligne:

System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US")

Bien sûr ca dépend de la config que l'on a.
Merci quand meme en tout cas.
        

Commentaire de jimmy69 le 17/10/2006 14:39:55

salut salut,

est il possible de fussioner des cellules !?
et si oui comment !?

Je vous remercie
Christophe

Commentaire de Drikce06 le 17/10/2006 14:45:02

Salut normalement ça devrait être ça :
sheet.Range("A1:A3").Merge()

Commentaire de jimmy69 le 17/10/2006 16:04:20

salut drikce06,

cool ca fonctionne !

merci et bonne fin de journée
christophe
un bouillonnais

Commentaire de billoux70 le 22/01/2007 10:48:27

merci pour ce code
Je debute en programation j'aurais une petite question à vous poser.
Comment fait t'on pour enregistrer un classeur dans un autre format que le xls ("htm")?

       merci pour votre (vos) réponse(s)

Commentaire de mortalino le 25/01/2007 06:31:32

Salut,

Billoux70 : dans excel, fichier Enregistrer sous... et choisi le format html.
Enregistre toi pendant que tu fais cette opération, tu auras la syntaxe et une adaptation sera alors a faire pour exploiter en DotNet

@++

Commentaire de billoux70 le 25/01/2007 13:11:58

merci beaucoup
j'ai deja fait cette opération mais je n'arrive pas à réadapter le code (est ce qu'il faut rajouter une référence a vb?). si quelqu'un a deja réussi s'il pouvais publier la solution sa serait sympa.

Commentaire de Drikce06 le 25/01/2007 13:16:55

Salut il faut ajouter la référence microsoft excel.

Commentaire de billoux70 le 25/01/2007 13:32:18

merci je vais détailler un peu plus mon projet
pour l'instant mes données s'incrive bien dans mon fichier excel et s'enregistre en *.xls
mes références installées sont office11 et excel.
je voudrais affiché mes données dans une form, j'avais pensé a le sauvegarder en html pour ensuite l'afficher.
   j'ai déja pas mal cherché moi meme et sur le net, mais je reste bloqué. encore merci pour votre aide

@@@+

Commentaire de AVI17 le 23/02/2007 11:28:47

bravo et merci pour ton code,

comment fais-tu pour lire la valeur d'une cellule en voulant préciser le n°ligne et N° colonne et non pas son adresse du type "B2" car je n'y arrive pas .

Merci d'avance

Commentaire de Drikce06 le 23/02/2007 11:32:03

Salut Cells(2,2) normalement

Commentaire de AVI17 le 23/02/2007 22:26:02

merci de ta réponse, j'ai du faire une erreur qlq part dans mon prog, car quand je fais appxls.cells(2,2).value j'ai une erreur .com
je vais chercher

Commentaire de Jo_Pistol le 10/07/2007 06:18:47

salut

Est-il possible de generer un graph, a partir d'une table?
merci

Commentaire de Bat007 le 16/07/2007 17:42:03

Bonjour,

Merci pour ton code, mais comme Jo_Pistol le demande, moi j'ai un soucis pour créer un graphe comprenant plusieurs series.
Je me sert de appxls.ActiveChart.SeriesCollection(1).XValues & appxls.ActiveChart.SeriesCollection(1).Values mais je n'arrive pas a passer les paramètres, et lorsque je "crois" les passer, en fait, mon graphe reste à {1}

Si quelqu'un à déjà eu le soucis, merci de m'expliquer pourquoi cela ne fonctionne pas.

Commentaire de Cacou99 le 25/07/2007 17:08:49

Bonjour,

Merci pour toutes ces informations mais qui pour moi son malheuresement insufisante...

Pourriez vous  m'indiquer ou vous trouvé toutes ces syntaxes car je ne les ai pas trouvé.
Je suis a la recherche de la ligne de code pour changer la taille des cellules, colonnes et ligne ...

Merci d'avance ..

Pitch

Commentaire de Renfield le 25/07/2007 17:10:06 administrateur CS

voir dans l'aide VBA d'excel...

Commentaire de mortalino le 25/07/2007 17:13:58

... ou dans l'explorateur d'objets (F2)

Commentaire de abdeljawad86 le 12/08/2007 16:41:22

Hé CACOU t'es vraiment ..........
tu vas sur excel,n'importe quelle classeur tu crées une macro pour redimentionner une cellule, et aprés excel va générer le code que tu pourras l'analyser ds macro->Visual Basic Editor->module x
alors bref t'as rien a faire plus facile que de le dire copie-->coller avec un peu de programmation que t'as ds la tête
ciao

Commentaire de saku28 le 05/10/2007 14:01:02

Hello ton code m'a bien aidé mais j'aurai besoins encore d'un petit peut de ton aide
enfaite j'ai fait une importation depuis un fichier texte et il y'a des lignes vierge sous excel et ce que quelqu'un aurait une commande pour supprimer les lignes vierges?

Commentaire de mitsh666 le 17/10/2007 16:47:25

Bonjour a tous,

Merci Drikce06 pour ces exemples. Au moins c'est clair ;-)

Cela dis, je suis à la recherche de comment modifier la taille d'une ligne ou colonne avec du vbscript. En plus, ça doit être efficace sur une ligne de cellules fusionnées. Mon but étant de permettre la vision de tout le texte se trouvant dans la cellule. et ce en vbscript.

En somme, je suis à la recheche de la même chose que Cacou99. Malheureusement, je bosse pas avec VBA comme l'as dis Renfield et ne vois pas ce que veux dire Mortalino. Par contre ABDELJAWAD86, penses-tu que cela donne aussi du vbs?

Commentaire de mitsh666 le 18/10/2007 09:06:23

hello,

ben c'est bon. par contre on ne peut pas faire un autosize de 2 cellules fusionnées. triste la vie...

voici une fonction qui contient toutes les modifications que je connais à ce jour :

function fctModifyExcelTable(ByVal FilePath, ByRef TabContent)
    Dim objExcel
    Dim objClasseur
    Dim lin

    Set objExcel = CreateObject("Excel.Application")
    Set objClasseur = objExcel.Workbooks.Open(FilePath)
    objExcel.DisplayAlerts = False  'enlève l'alerte (oui=True, non=False)
    'objExcel.Application.Visible = True 'Cache le classeur (oui=True, non=False)

    objExcel.ActiveWorkbook.Sheets(1).Select   'selection de mon onglet

        lin = objExcel.Cells(1,1).Value
        objExcel.Selection.Borders.Weight = 4   '= xlThick
        objExcel.Selection.ColumnWidth = 12
        objExcel.Selection.Font.Name = "Arial"
        objExcel.Selection.Font.Size = 11
        objExcel.Selection.Font.Bold = True
        objExcel.Selection.HorizontalAlignment = &HFFFFEFF4 '= xlCenter
        objExcel.Selection.Interior.ColorIndex = 6
        objExcel.Selection.NumberFormat = "@"
        objXLA.Selection.Borders.LineStyle = 1   '= xlSolid
        objXLA.Selection.Borders.Weight = 4   '= xlThick
        objExcel.Selection.Borders.LineStyle = 1
        objExcel.Selection.Borders.Weight = -4138
        objExcel.Selection.Borders(11).LineStyle = -4142
        objExcel.Selection.Borders(12).LineStyle = -4142
        objExcel.Selection.Interior.ColorIndex = 0
        objExcel.Selection.RowHeight = 30
        objExcel.Selection.Rows.AutoFit
        objExcel.Selection.Columns.AutoFit


    'objExcel.ActiveWorkbook.SaveAs FilePath 'sauvegarde le classeur
    objExcel.ActiveWorkbook.Save'sauvegarde le classeur
    objExcel.ActiveWorkbook.Close 'Fermeture d'Excel
    objExcel.DisplayAlerts = True 'remet l'alerte  oui=True   non=False
    objExcel.Application.Visible=True 'remet la visibilité
    objExcel.Quit

    Set objExcel = Nothing
    Set objClasseur = Nothing
end function

Commentaire de BLU le 07/11/2007 14:13:02

Bonjour,

Je suis sous VB 2005 et office 2003.
Le début de code est ok mais sur la sélection d'une cellule le code bloque

        'Sélectionner une cellule
        sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")

==>
Impossible d'effectuer un cast d'un objet COM de type 'System.__ComObject' en type d'interface 'Microsoft.Office.Interop.Excel.Workbook'. Cette opération a échoué, car l'appel QueryInterface sur le composant COM pour l'interface avec l'IID '{000208DA-0000-0000-C000-000000000046}' a échoué en raison de l'erreur suivante : Cette interface n'est pas prise en charge (Exception de HRESULT : 0x80004002 (E_NOINTERFACE)).

Avez vous une idée ?

Merci d'avance.

Commentaire de XofA le 06/01/2008 14:15:32

BLU,

une feuille de ton classeur Excel doit porter le nom 'NouveauNom', as-tu vérifer ?

Commentaire de BLU le 19/02/2008 20:43:27

Merci XOFA,
Effectivement la variable contenant le nom de l'onglet semblait être mal évaluée, ce qui du coups plantait le code.

Cdt,
Benoît

Commentaire de wammaw le 04/05/2008 08:46:30

'Ajouter une feuille après la dernière feuille'
Sheets.Add(Type.Missing, appxls.Worksheets[appxls.Worksheets.Count], Type.Missing, Type.Missing);

'corespond à la dernière feuille'
appxls.Worksheets[appxls.Worksheets.Count]

Commentaire de diampa le 22/06/2008 10:47:33

ton code est bien clair mais comment faire pour selectionner 2 feuilles en même temps

Commentaire de BLU le 22/06/2008 23:00:32

La sélection de plusieurs onglets devrait être du genre :
Sheets(Array("Feuille 1", "Feuille 2")).Select

Pour info, on m'a donné le lien suivant pour le support VBA et les objets Excel :

http://bvrve.club.fr/Astuces_Michel/12excelvba.html

Cela va peut être t'aider.

Cdt,
Benoit

Commentaire de crownstud le 01/07/2008 09:42:15

super cool ton code.Voila moi je voudrais creer des fichier xls (de façon périodique)et avec la date dans le titre.Pour récupérer la date,pas de difficulté mais pour la mettre dans le nom du xls impossible.
Donc si tu vois comment faire...
Et aussi j'aimerais mettre des bordures voyante automatiquement,c'est possible sa?
Merci.

Commentaire de teutif le 22/04/2009 10:36:25 8/10

Coucou juste pour dire qu'il y a une erreur, en tout cas chez moi, mais j'ai la solution ;)

Lorsque je test ceci :
'Sélectionner une cellule
sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")
sheet.Activate()
sheet.Cells(1, 1).Select()
'ou
sheet.Range("A2").Select()

J'ai la meme erreur que BLU!

La solution vient de la déclaration de sheet, ce n'est pas
Dim sheet As Microsoft.Office.Interop.Excel.Workbook
Mais bien
Dim sheet As Microsoft.Office.Interop.Excel.Worksheet

Sinon super source, elle m'aide beaucoup!!!!

Commentaire de diampa le 25/04/2009 09:30:06

salut bon code
mais moi de ma part j'ai essayé en vain la sélection de deux ou trois feuilles pour l'impression.
j'ai passer par l'enregistreur de macros mais pour adapter le code en vb cela devient un gros problème
voici le code que je veux adapter
Sheets(Array("FicheObserv", "Feuil2", "Feuil3")).Select
    Sheets("FicheObserv").Activate
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Commentaire de othinakiway le 29/04/2009 20:00:29 8/10

un bon code, bien organisé et très clair.
bonne continuité!

Commentaire de asmaesim le 25/06/2009 12:21:11

merçi pour le code mas j'arrive pas a donner une réfrence à excel peut tu me dire comment?

Commentaire de lecoque le 18/05/2010 16:58:55

BONJOUR
je programme avec vb express 2005
j'aurai voulu faire une vérification avec « if ..then »
si un fichier Excel es bien ouvert j'appel une macro qui modifie les onglets et rajoute si nécessaire
et s'il y a aucun fichier Excel je crée un classeur et crée les onglets
mais j'arrive pas à testé si le fichier Excel est ouvert ou pas.  

Commentaire de Adn56 le 21/09/2011 14:37:48 8/10

Salut, et merci pur ce tuto. J'ai référencé le Com Excel ver 10.0 et du coup j'ai du adapter ton code (Excel 2002 sp3). Je partage donc la façon de faire (sinon j'ai une erreure de liaison tardive avec option strict)
Il faut remplacer les appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Value = "tyty" par :
=>        With book.Sheets.Application
            .Range("F5").Value = Date.Today.ToString
            .Range("F6").Value = "test"
          End With

Avec : Dim book As Excel.Workbook et
book = appxls.Workbooks.Open(cheminFormulaire)
Me demande pas pourquoi, juste que cela marche LOL. Bonne prog à tous. ADN

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Supprimer une feuille d'un classeur Excel [ par eltaris ] Mon prog ouvre Excel et tape des infos dans la première feuille. Comme j'ouvre un nouveau document, le classeur excel contient 3 feuilles vierges (et Deplacer une feuille excel vers un autre classeur [ par Mike75 ] VOila dc je traville sous access, j ai 10 requete, j exporte ces requetes dans des fichiers excels. Je souhaite pouvoir copier chacune des feuilles pr Ouvrir une feuille précise d'un classeur excel? [ par ffak ] Bonjour,chuis nouveau (et un peu boulet) ;)Comment donc ouvrir une feuille précise d'un classeur excel? (mon classeur comporte 8 feuilles par exemple) Récupération nom de feuille active dans un classeur Excel [ par phbrrd ] Bonjour,j'aurais besoin d'un petit coup de main.Dans la macro que je prépare, je dois récupérer le nom de la feuille active dans un classeur Excel afi feuille excel [ par SEB71 ] Bonjour,Je suis nouveau dans le monde de la programmation.Actuellement j'ouvre un classeur excel avec un fichier xls.et dans le meme classeur sur la f migration de donnée excel [ par lu6fer ] hello tout le monde, ca va??alors voila j'ai des donnée dans une feuille excel et je voudrai les metre dans une autre feuille du meme classeur ou dans Stagiaire en détresse sur Excel. [ par LionelB ] Comment faire pour copier une feuille excel (contenu ET format) depuis un classeur vers un autre contenant déja d'autre feuilles.Je souhaite ajouter u COPIE DE FEUILLES EXCEL HORS DU CLASSEUR [ par sylvio36 ] Merci d'avance a ceux qui repondront a ce message.Je suis debutant et je souhaite faire une copie d'une feuille excel qui est contenu dans mon classeu Affichage d'une feuille excel [ par nagstef ] Yop, yop ...lorsque j'ecris cela, il n'y a aucun souci pour ecrire dans la feuille excel, par contre, elle ne s'affiche pas automatiquement lorsque je copie d'un classeur excel [ par Bouteille ] bonjour,j'aimerais savoir s'il est possible de copier directement un classeur excel en entier, car j'ai bien vu la methode de copie feuille a feuille


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales