IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Création fichier excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Femme Profil pro
    Ergonome
    Inscrit en
    Septembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Septembre 2018
    Messages : 17
    Par défaut Création fichier excel
    Bonjour,

    Je souhaite faire une macro qui créer un fichier excel nommé "result", et que dans ce fichier je crée une matrix avec des nombres aléatoires, j'élève ces nombres au carré et je copie colle ce tableau dans une nouvelle feuille appelé "square matrix". Puis sauvegarder et fermer ce fichier.
    J'ai un souci avec mon code, ca me créer bien ce fichier result, mais le souci c'est que toutes les manipulations suivantes ne sont pas réalisés dans le fichier result mais dans n'importe quel classeur excel ouvert.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Sub tableau()
    'create an excel file with one worksheet Result'
    Dim MyExcel As Excel.Application
    Dim New_Workbook As Excel.Workbook
    Dim filename As String
    Dim path As String
    Dim Fcell As String
    Dim Scell As String
     
    path = "C:\Users\PC\Dropbox\IUM\Bachelor\VBA\"
    filename = "result.xlsx"
     
    Set MyExcel = CreateObject("Excel.Application")
    Set New_Workbook = MyExcel.Workbooks.Add
    New_Workbook.Sheets(1).Name = "Result"
    New_Workbook.SaveAs path & filename
    New_Workbook.Close
    MyExcel.Quit
     
     
    Fcell = InputBox("Select a first cell")
    Scell = InputBox("Select a second cell")
    Range(Fcell, Scell).Formula = "=Rand()"
     
    Range(Fcell, Scell).Select
    selection.Value = ActiveCell.Value ^ 2
    selection.Copy
     
    Sheets.Add After:=ActiveSheet
    Sheets(2).Name = "Square Matrix"
    ActiveSheet.Paste
     
    End Sub
    Toute aide est bienvenue

  2. #2
    Membre chevronné
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 214
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    New_Workbook.Close
    MyExcel.Quit
    c'est en trop, non ?

  3. #3
    Membre averti
    Femme Profil pro
    Ergonome
    Inscrit en
    Septembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Septembre 2018
    Messages : 17
    Par défaut
    Citation Envoyé par sogedic Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    New_Workbook.Close
    MyExcel.Quit
    c'est en trop, non ?
    En fait je sais pas comment placer mes éléments pour que tout se déroule dans le fichier result.
    Quand on crée un fichier excel en VBA, comment on indique que les macros suivantes doivent être réalisé dans ce fichier?

  4. #4
    Membre chevronné
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 214
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    with New_Workbook
    .sheet ou .range
    end with

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par FreshTrading Voir le message
    le souci c'est que toutes les manipulations suivantes ne sont pas réalisés dans le fichier result mais dans n'importe quel classeur excel ouvert.
    Comme il t'a été dit, tu fermes le fichier (tu fermes même Excel) avant d'y placer tes éléments.
    Il ne risque donc pas de se remplir.

Discussions similaires

  1. Création fichier Excel depuis DataSet avec OleDb
    Par djidane39 dans le forum C#
    Réponses: 5
    Dernier message: 23/10/2009, 23h44
  2. création fichier Excel à partir d'une application WPF
    Par modafine dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 01/08/2008, 09h53
  3. [WD10] Création fichier Excel et Word
    Par fabpeden dans le forum WinDev
    Réponses: 6
    Dernier message: 02/05/2008, 17h26
  4. Création fichier excel retourné dans le navigateur
    Par progamer54 dans le forum JSF
    Réponses: 4
    Dernier message: 27/03/2007, 12h50
  5. [VBA-E]Création fichier EXCEL et détection cellule vide
    Par benoue dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 24/02/2006, 18h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo