Remplissage tableau double entrée - VBA

Bonjour à tous,

Etant débutant sur VBA, j'ai un problème qui n'est à mon avis pas très compliqué mais qui me bloque depuis un moment.

Voilà le topo : j'ai une plage de données dans une feuille Excel que je souhaite charger dans un tableau double entrée sur VBA. Etant donné le volume de donnée (environ 1000x53 cases) je ne peux en aucun cas le faire à la main. Je souhaite donc le remplir avec une double boucle for.

Je vous mets ici le code (qui ne marche pas) et attends vos conseils !

For Semaine = 1 To 53
    For SKU = 1 To 998
        Demande(SKU, Semaine) = Worksheets("Calcul demande totale").Cells(Semaine + 2 & SKU + 4).Value
    Next
Next

Merci d'avance !

Bonjour,

Pas de boucle, inutile et terriblement lent.

Demande=[C3:F5]

eric

Effectivement ça a l'air plus simple mais j'ai un message d'erreur avec ce code qui m'indique :

Erreur d'éxécution '13':

Incompatibilité de type

Il se peut que j'ai mal défini mon tableau, voici ce que j'ai mis :

Dim Demande() As Single 'Demande par semaine

Merci en tout cas de votre réponse rapide

Non, il ne faut pas typer la variable ni la déclarer en tableau.

Dim Demande 'Demande par semaine

Les indices démarrent à 1.

Et si tu dois inscrire un tableau sur une feuille :

Sheets("Feuil2").[C3].Resize(UBound(demande, 1), UBound(demande, 2)) = demande

eric

Effectivement, merci bien cela fonctionne !

Encore une question cependant, quand je veux accéder à une valeur, puis je l'adresser comme suit :

demande(1,1)

Tu as dû pouvoir essayer depuis le temps...

C'est bon ?

eric

Bonjour,

J'ai pu essayer mais je n'arrive pas à comprendre comment accéder à une case de mon tableau et ce que ce soit à 1 ou 2 dimensions.

J'arrive effectivement à charger toutes les données depuis ma feuille Excel vers mon tableau vba, j'arrive également à copier les données du tableau vers une autre feuille Excel. Cependant, si je veux la valeur d'une des cases je ne sais pas comment faire.

Ce serait super si vous pouviez encore m'aider !

Merci,

En fait j'ai une info en plus que je n'arrive pas à expliquer...

J'arrive sur les tableaux à double entrée à atteindre la valeur que je veux en utilisant une formule du type

demande(1,1)

Par contre, je n'arrive pas à utiliser la même instruction sur mes tableaux à 1 dimension...

Cela me renvoie un message me disant que "L'indice n'appartient pas à la sélection"

Je suis vraiment bloqué et aurait bien besoin de vos lumières

Bonjour,

Si ton tableau n'a qu'une dimension c'est a=demande(1) tout simplement.

eric

Rechercher des sujets similaires à "remplissage tableau double entree vba"