Bonjour,

J'ai utilisé une macro dictionnaire m’évitant quelconque doublons, et je la transfère dans un tableau, jusque là tout va bien.

voici la macro:

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
Sub creation_tabcart()
 
Dim tabcart()
Dim z As Variant
  Set MonDico = CreateObject("Scripting.Dictionary")
  Sheets("BDD_produit").Activate
  For Each z In ActiveSheet.Range([A2], [A65536].End(xlUp))
'si la donnée n'existe pas encore dans le dictionnaire
     If Not MonDico.Exists(z.Value) Then
        If z.Value Like "CART*" Then
'on l'ajoute dans le dictionnaire
        MonDico.Add z.Value, z.Value
'et dans le tableau VBA
        ReDim Preserve tabcart(1 To MonDico.Count)
        tabcart(MonDico.Count) = z.Value
        Debug.Print tabcart(MonDico.Count)
        End If
      End If
  Next z
 
    Sheets("liste des palettes").Activate
    Sheets("liste des palettes").Range(Cells(2, 10), Cells(UBound(tabcart) + 2, 10)) = tabcart
Ma fenêtre développeur m'affiche bien
CART037
CART038
CART073
CART133
CART134
...
donc ce que je recherche

Le problème arrive ici,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    Sheets("liste des palettes").Activate
    Sheets("liste des palettes").Range(Cells(2, 10), Cells(UBound(tabcart) + 2, 10)) = tabcart
en effet, le tableau ainsi copier sur la feuille excel ne comporte que la première valeur du tableau dans chaque cellule (soit un tableau d'une colonne et x lignes toutes remplies par "CART037").

Cela fait 1 journée que je suis dessus et je n'arrive pas à comprendre d'où viens le problème.

Merci d'avance pour votre aide,

Up : La réponse est ici :
https://www.developpez.net/forums/d8...euille-calcul/

il suffisait de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Sheets("liste des palettes").Range(Cells(2, 10), Cells(UBound(tabcart) + 1, 10)).Value = Application.Transpose(tabcart)
J'ai néanmoins un nouveau problème, l'apparition d'un erreur 5, sur le Cells(UBound(tabcart)=<l'indice n'appartient pas à la selection>

Je ne comprend pas...