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 :

Insérer un array dans une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Femme Profil pro
    Ingénieur génie industriel
    Inscrit en
    Novembre 2016
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur génie industriel

    Informations forums :
    Inscription : Novembre 2016
    Messages : 88
    Par défaut Insérer un array dans une feuille
    Bonjour à tous

    Ci dessous une tentative de code pour insérer un array dans une feuille en passant par un autre array (je crois?)

    Or le temps d'éxecution est long et en plus il ne se passe rien

    Des idées?

    Merci d'avance

    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
    Private Sub Ajouter_Click()
    Dim Maligne As Long
    Dim derl%
    Dim derl2%
    Dim lofc()
    Dim i%
    Application.EnableEvents = False
    Refresh
    derl = Worksheets("NewLOFC").Cells(Rows.Count, 1).End(xlUp).Row
    lofc = Worksheets("NewLOFC").Range("A2:J2" & derl).Value
    derl2 = Worksheets("data").Cells(Rows.Count, 1).End(xlUp).Row + 1
     
    For i = LBound(lofc, 1) To UBound(lofc, 1)
    Worksheets("data").Cells(derl2, 1).Resize(1, 10).Value = _
    Array(lofc(i, 1), lofc(i, 2), lofc(i, 3), lofc(i, 4), lofc(i, 5), lofc(i, 6), lofc(i, 7), lofc(i, 8), lofc(i, 9), lofc(i, 10))
    Next
     
    Sheets("Data").Activate
    Application.EnableEvents = True
    End Sub

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour
    A première vue et pour répondre rapidement, je vois ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lofc = Worksheets("NewLOFC").Range("A2:J2" & derl).Value
    Ne serait-ce pas plutôt ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lofc = Worksheets("NewLOFC").Range("A2:J" & derl).Value

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    on toruve un bon exemple, a toute fin utile :
    http://silkyroad.developpez.com/vba/tableaux/#LXIV-F
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  4. #4
    Membre confirmé
    Femme Profil pro
    Ingénieur génie industriel
    Inscrit en
    Novembre 2016
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur génie industriel

    Informations forums :
    Inscription : Novembre 2016
    Messages : 88
    Par défaut
    En effet j'ai décalé derl2 = Worksheets("data").Cells(Rows.Count, 1).End(xlUp).Row + 1 après le "For" et ai remplacé comme proposé

    Cela semble fonctionner maintenant ! Moi qui pensait ne rien ne comprendre à ces array !

    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
    Private Sub Ajouter_Click()
    Dim Maligne As Long
    Dim derl%
    Dim derl2%
    Dim lofc()
    Dim i%
    Application.EnableEvents = False
    Refresh
    derl = Worksheets("NewLOFC").Cells(Rows.Count, 1).End(xlUp).Row
    lofc = Worksheets("NewLOFC").Range("A2:J" & derl).Value
     
    For i = LBound(lofc, 1) To UBound(lofc, 1)
    derl2 = Worksheets("data").Cells(Rows.Count, 1).End(xlUp).Row + 1
    Worksheets("data").Cells(derl2, 1).Resize(1, 10).Value = _
    Array(lofc(i, 1), lofc(i, 2), lofc(i, 3), lofc(i, 4), lofc(i, 5), lofc(i, 6), lofc(i, 7), lofc(i, 8), lofc(i, 9), lofc(i, 10))
    Next
     
    Sheets("Data").Activate
    Application.EnableEvents = True
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. insérer un bouton dans une feuille excel lié à une fonction vba
    Par thierry_b dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/06/2009, 12h14
  2. [VBA-E] Problème pour insérer des lignes dans une feuille Excel
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/04/2007, 14h13
  3. Réponses: 9
    Dernier message: 19/02/2007, 20h33
  4. [MySQL] Insérer complètement un array dans une base
    Par Anduriel dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/12/2005, 19h52
  5. [xslt]insérer javascript dans une feuille
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 15/11/2005, 13h27

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