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 :

où est le problème? écriture du contenu d'une variable tableau


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut où est le problème? écriture du contenu d'une variable tableau
    Bonjour à tous,

    cette ligne de code fonctionne bien, elle écrit bien tout le listing contenu dans ma variable tableau tablodepc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A4").Resize(UBound(tablodepc), UBound(zone, 2)) = Application.Transpose(Application.Transpose(tablodepc))
    quand je veux l’alléger en enlevant les deux application.transpose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A4").Resize(UBound(tablodepc), UBound(zone, 2)) = tablodepc


    je n'ai rien qui s'inscrit

    si j'en enlève qu'un (application.transpose) j'ai mon listing qui est effectivement transposé.

    Vous pouvez m'expliquer pourquoi ces deux lignes de codes ne sont pas équivalentes?

    D'un autre côté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A4").Value = tablodepc
    est vide aussi...

    Merci par avance.

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

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Points : 2 813
    Points
    2 813
    Par défaut
    Bonjour,
    Essaie comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A4").Resize(UBound(tablodepc), UBound(zone, 2)).Value = tablodepc
    Je garatie rien, mais essaie
    La fonction Transpose renvoie un Range, du coup quand tu transpose 2 fois tu transformes ton tableau en Range. Ainsi, tu fais une égalité entre 2 Range et ça marche. Par contre, si tu ne fais pas de transposition, ton tableau reste un tableau et apparemment, ça ne marche pas...
    Je ne garantie pas l'explication, ce sont juste des suppositions. J'ai regardé quel type d'objet Transpose renvoyait et j'en ai déduit une explication

  3. #3
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut
    Merci pour ta réponse.
    J'avais déjà testé cette proposition et je viens de retenter.
    Ca ne fonctionne malheureusement pas et donne une erreur 13 incompatibilité de type

  4. #4
    Invité
    Invité(e)
    Par défaut
    bonjour,
    que représente (tablodepc,zone) et d'ou proviennent ses valeur?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    With Sheets("Feuil1")
        e = Range(.Range("A1"), .Range("B100"))
    End With
    Debug.Print UBound(e, 2)
    With Sheets("Feuil2")
        .Range("A2000").Resize(UBound(e, 2), UBound(e, 1)) = Application.Transpose(e)
        .Select
        .Range("A2000").Select
     
    End With


  5. #5
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut
    Bonjour désolé pour ce retour tardif.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim zone As Variant
    Dim tablodepc() As Variant
    zone me permet d'enregistrer ma plage d'analyse des données:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    zone = Range("A1").CurrentRegion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    For i = LBound(zone, 1) To UBound(zone, 1)
            'regarde la ligne i et la colonne 4 si la valeur correspond à XXX
            If zone(i, 4) = "XXX" Then
            C = C + 1
            ReDim Preserve tablodepc(C)
     
            tablodepc(C) = Application.Index(zone, i)
            tablo(1, 1) = C 'écrit la quantité de XXX dans le tableau de synthese
            'trouve la valeur min et l'écrit dans le tableau de synthese
            tablo(1, 2) = Application.Min(Application.Index(tablodepc, , 3))
    ect ect...sur plusieurs types d'informations à trier

    Si cela t'apporte plus d'éclairage

    Merci par avance.

Discussions similaires

  1. [Débutante] Pourquoi ça ne marche pas...?
    Par Tootsi dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 12/02/2006, 16h58
  2. [ Problème ] .htaccess qui ne marche pas "partout"
    Par nnet_mathieu dans le forum Apache
    Réponses: 8
    Dernier message: 22/11/2005, 19h34
  3. Pourquoi ce code marche pas sous FF?
    Par Death83 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/09/2005, 10h04
  4. [W3C] Pourquoi ça ne marche pas sous IE
    Par polo-j dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 16/02/2005, 16h07

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