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 :

bug recopie dans un range à partir d'une variable tableau [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Par défaut bug recopie dans un range à partir d'une variable tableau
    Bonjour,


    j'ai un soucis de recopie dans un range à partir d'une variable tableau à une dimension
    l'option base est à 1
    a(), b() et aa() sont déclarer en variant

    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
    Erase a
        ReDim aa(1)
        aa(1) = "Liste des lots en Recontrôle semaine: " & ThisWorkbook.Worksheets("Liste").Cells(j, 1).Value
        With ThisWorkbook.Worksheets("Tampon")
            DL = .Cells(.Rows.Count, 2).End(xlUp).Row
            a() = .Range("A1:BJ" & DL).Value
        End With
        For i = LBound(a, 1) To UBound(a, 1)
            b = Array(a(i, 41), a(i, 46), a(i, 51), a(i, 56))
            For k = LBound(b) To UBound(b)
                If Year(b(k)) & DatePart("ww", b(k), 2, 2) = ThisWorkbook.Worksheets("Liste").Cells(j, 1).Value Then
                    ReDim Preserve aa(UBound(aa, 1) + 1)
                    aa(UBound(aa)) = a(i, 1) & " - " & a(i, 2) & " - " & a(i, 3)
                End If
            Next k
        Next i
        ThisWorkbook.Worksheets("Liste RCT").Range("A1").Resize(UBound(aa)).Value = aa()
    Lorsque je pose un point d'arret à la dernière ligne et que je consulte les données de ma variable tableau aa() via la fenetre des variables locales, je récupère selon mes tests bien une seconde ligne à ma dimension donc aa() va de 1 à 2 ( aa(1 to 2) )

    or lors de la recopie, seule la première ligne de la dimension est recopié 2 fois. Savez vous pourquoi?

    merci d'avance de votre aide.
    Bonne journée

  2. #2
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Oui, nous savons pourquoi.

    Tu devrais aller lire ce tutoriel complet : http://didier-gonard.developpez.com/...s-tableau-vba/

    Ce paragraphe en particulier : http://didier-gonard.developpez.com/...u-vba/#LVIII-B traite ton problème.

  3. #3
    Membre chevronné
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Par défaut
    Bonjour Pijaku.

    Merci pour le lien car je n'ai jamais trouvé ce tuto de Didier mais seul celui de qwazerty.

    En effet cela répond parfaitement ma question.

    merci beaucoup et bonne journée +1

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/02/2014, 10h17
  2. [VBA-E] Supprimer des lignes à partir d'une variable tableau
    Par humbp dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/02/2008, 08h09
  3. Afficher des données dans un datagrid à partir d'une base de données MySQL
    Par General_Garrisson dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/07/2006, 15h14
  4. Réponses: 4
    Dernier message: 01/12/2005, 01h01
  5. Ajouter du texte dans un input à partir d'une autre fenêtre
    Par Michaël dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/04/2005, 20h14

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