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 :

VBA : Copier variable tableau 1 dimension vers feuille excel avec un range [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 65
    Par défaut VBA : Copier variable tableau 1 dimension vers feuille excel avec un range
    Bonjour,

    Jusqu'à maintenant, j'ai plutôt utilisé des variables tableaux multidimensionnelles et je n'ai pas eu de soucis pour faire un range du tableau vers la feuille excel (ce qui permet de transférer les données bien plus rapidement) mais là je voudrais le faire avec un tableau à 1 dimension et je n'y arrive pas.

    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
     
        ReDim VarTableauCritere(1)
     
        For n1 = 1 To UBound(echeancesFrs)
            If echeancesFrs(n1).Critere_Tri = "Interco" Then
     
                For n2 = 1 To UBound(VarTableauCritere)
     
                    If echeancesFrs(n1).LibelleTiers = VarTableauCritere(n2) Then
                        Exit For
                    End If
     
                    If n2 = UBound(VarTableauCritere) And echeancesFrs(n1).LibelleTiers <> VarTableauCritere(n2) Then
                        ReDim Preserve VarTableauCritere(UBound(VarTableauCritere) + 1)
                            VarTableauCritere(n2) = echeancesFrs(n1).LibelleTiers
                    End If
     
                Next n2
     
            End If
        Next n1
     
     
    Sheets(VarFeuille08).Range(Sheets(VarFeuille08).Cells(1, 1), Sheets(VarFeuille08).Cells(UBound(VarTableauCritere), 1)) = VarTableauCritere
    Si quelqu'un a une idée, ça me serait très utile.

    Merci d'avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    1 dimension d'accord, mais de quelle taille (nombre de lignes) ?
    Avec ReDim VarTableauCritere(1), si tu n'as pas changé Option Base ça te fait un tableau (0 to 1)
    Si tu veux 15 lignes à partir de 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ReDim VarTableauCritere(1 to 15)
    Il faudra aussi penser à le remplir avant de l'utiliser.
    eric

  3. #3
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,
    Citation Envoyé par windsor Voir le message
    je voudrais le faire avec un tableau à 1 dimension et je n'y arrive pas.
    Je pense que tu n'en es pas loin mais c'est ta ligne de transfert qui devrait plutôt être ainsi codée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(VarFeuille08).Cells(1, 1).Resize(UBound(VarTableauCritere), 1).Value = Application.Transpose(VarTableauCritere)

  4. #4
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 65
    Par défaut
    Merci infiniment à anasecu, j'en reviens pas, j'ai cherché pendant des heures et des heures, j'étais pratiquement désespéré de trouver la solution.

    Quelle efficacité !

    Je n'oubli pas de remercier aussi eriiic pour l'intérêt qu'il a porté à mon problème (je suis désolé, j'ai mis qu'un bout de mon code, évidemment, Option de base était à 1, le but était de pouvoir rallonger mon tableau de façon dynamique en fonction du nombre différent de tiers trouvé, sur ce point je n'avais pas de soucis, c'était surtout de copier les données du tableau faire la feuille excel qui me posait problème).

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/07/2015, 18h34
  2. [XL-2003] vba: Copier un tableau 1 dimension dans une feuille
    Par Gotita dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/09/2009, 18h17
  3. Export variables VBA vers feuille Excel, valeur arrondi
    Par BluE SphynX dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/09/2007, 10h23
  4. Réponses: 9
    Dernier message: 19/02/2007, 20h33
  5. [VBA] copier données d'1 fenêtre vers feuille
    Par Angel79 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/01/2006, 15h32

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