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 :

Problème tableau VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 53
    Par défaut Problème tableau VBA
    Bonjour à tous,

    A partir d'un tableau de 20 lignes 4 colonnes je souhaite récupérer toutes les lignes dont la première case est non vide et ensuite les stocker dans une nouvelle page

    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
    Sub tableauv1()
    Dim i As Integer, j As Integer, tableau(20, 4) As String
    j = 1
    For i = 1 To 20
    If IsEmpty(Range("A1").Cells(i, 1)) = False Then
    tableau(j, 1) = Range("A1").Cells(i, 1)
    tableau(j, 2) = Range("A1").Cells(i, 2)
    tableau(j, 3) = Range("A1").Cells(i, 3)
    tableau(j, 4) = Range("A1").Cells(i, 4)
    j = j + 1
    End If
    Next i
    Application.Workbooks.Open ("\\MCA-SERVEUR\OPCVM\XAVIER\Tests\xaxa.xls")
    Range(Range("A1").Cells(1, 1), Range("A1").Cells(size1, 4)) = tableau(20, 4) 
    'problème ici lors du degogage quand je veux coller le tableau
    End Sub

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Bonjour à tous,

    A essayer
    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
    Option Explicit
    Option Base 1
    Sub tableauv1()
    Dim i As Integer, j As Integer, tableau(20, 4) As String
    j = 1
    For i = 1 To 20
        If Not IsEmpty(Range("A1").Cells(i, 1)) Then
            tableau(j, 1) = Range("A1").Cells(i, 1)
            tableau(j, 2) = Range("A1").Cells(i, 2)
            tableau(j, 3) = Range("A1").Cells(i, 3)
            tableau(j, 4) = Range("A1").Cells(i, 4)
            j = j + 1
        End If
    Next
    Application.Workbooks.Open ("\\MCA-SERVEUR\OPCVM\XAVIER\Tests\xaxa.xls")
    Range(Cells(1, 1), Cells(j - 1, 4)) = tableau()
    End Sub
    L'erreur viendrait du fait de :
    - Ajouter Option Base 1 pour commencer à 1 dans le tableau ;
    - votre ligne qui était effectivement en cause.

    Cordialement

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 53
    Par défaut
    Idem problème ici à la dernière ligne "erreur définie par l'application ou par l'objet".

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Chez moi, ça fonctionne ...

    En revanche, la ligne ci-dessous fonctionne-elle ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Workbooks.Open ("\\MCA-SERVEUR\OPCVM\XAVIER\Tests\xaxa.xls")
    Car je ne l'ai pas essayée ; le fichier "xaxa" s'ouvre-t-il ? Car le chemin d'accès commence par "\\" .

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 53
    Par défaut
    Maintenant le fichier xaxa s'ouvre mais ça ne "colle" pas le tableau !

  6. #6
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Désolé, je ne vois pas ce qui peut clocher ... J'ai fait différents essais, ça fonctionne.

    A essayer ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1:D20") = tableau()
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(1, 1), Cells(20, 4)) = tableau()
    ou depuis les Tutoriels concernant les tableaux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(1, 1), Cells(UBound(tableau, 1), UBound(tableau, 2))) = tableau
    Sinon, je passe la main aux experts.

    Cordialement

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

Discussions similaires

  1. [XL-2010] Probléme tableau croisé dynamique combiné avec VBA
    Par jackborogar dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 12/02/2013, 17h18
  2. Problème tableau vba
    Par xav30 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/11/2007, 20h29
  3. [perl]Problème tableau indexé
    Par LE NEINDRE dans le forum Langage
    Réponses: 8
    Dernier message: 25/08/2005, 21h24
  4. [CR8] Problème tableau sur plusieurs pages???
    Par christophe28 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 02/11/2004, 15h46
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

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