Remplissage tableau de données et réutilisation dans une autre macro

Bonjour tout le monde,

j'ai problème qui à l'air simple mais je n'arrive pas à trouver la cause. J'essaie de récupérer une "base de données" dans un tableau de données pour le réutiliser dans d'autre macro. Hors ce tableau s'agrémente bien dans ma première macro mais quand je le réutilise dans ma seconde macro, j'ai l'impression qu'il est vide. Ce n'est pas la première fois que j'utilise cette fonction mais il y à surement quelque chose d'évident dans mon erreur mais je n'arrive pas le doigt dessus.

merci d'avance pour votre temps ci dessous mon code:

Sub Base_De_Données()
Dim BD As Range
Dim Ligne As Variant
Dim Colonne As Variant
Dim Tableau_Donnees(2771, 33) As String
Set BD = ActiveWorkbook.Sheets("BD QTE PRODUCTION").Range("A3:AH2774")

For Ligne = 3 To 2774
    For Colonne = 1 To 34
        Tableau_Donnees(Ligne - 3, Colonne - 1) = Sheets("BD QTE PRODUCTION").Cells(Ligne, Colonne).Value
        'Debug.Print Tableau_Donnees(Ligne - 3, Colonne - 1)
    Next Colonne
Next Ligne

End Sub

Sub Cherche_Date_Du_Jour()

Dim DateJ As Variant
Dim Ligne As Variant
Dim Colonne As Variant
Dim Ligne2 As Variant
Dim Colonne2 As Variant
Dim Tableau_Jour(6, 33) As String
Dim Tableau_Donnees(2771, 33) As String

Call Base_De_Données

For Ligne = 0 To 2771 'Step 7
   If Date = Tableau_Donnees(Ligne, 0) Then
   Debug.Print Tableau_Donnees(Ligne, 0)
    Ligne2 = 0
    Colonne = 0
    Colonne2 = 0
        Do While Ligne2 < 7
            Do While Colonne2 < 34
            Tableau_Jour(Ligne2, Colonne2) = Tableau_Donnees(Ligne, Colonne)
            Colonne = Colonne + 1
            Colonne2 = Colonne2 + 1
            Loop
        Ligne = Ligne + 1
        Ligne2 = Ligne2 + 1
        Loop
        Debug.Print Tableau_Jour(Ligne2, Colonne2)
Exit For
    End If
    Debug.Print Tableau_Donnees(Ligne, 0)
Next Ligne
End Sub

Merci encore et bonne journée !

J'ai rajouté un "option explicit" avec du public sur mes tableaux mais rien ne change...

Option Explicit
Public Tableau_Donnees(2771, 33) As Variant, Tableau_Jour(6, 33) As Variant

Sub Base_De_Données()
Dim BD As Range
Dim Ligne As Variant
Dim Colonne As Variant
Dim Tableau_Donnees(2771, 33) As Variant
Set BD = ActiveWorkbook.Sheets("BD QTE PRODUCTION").Range("A3:AH2774")

For Ligne = 3 To 2774
    For Colonne = 1 To 34
         Tableau_Donnees(Ligne - 3, Colonne - 1) = Sheets("BD QTE PRODUCTION").Cells(Ligne, Colonne).Value
        'Debug.Print Tableau_Donnees(Ligne - 3, Colonne - 1)
    Next Colonne
Next Ligne

End Sub

Sub Cherche_Date_Du_Jour()

Dim DateJ As Variant
Dim Ligne As Variant
Dim Colonne As Variant
Dim Ligne2 As Variant
Dim Colonne2 As Variant
Dim Tableau_Jour(6, 33) As Variant
Dim Tableau_Donnees(2771, 33) As Variant

Call Base_De_Données

For Ligne = 0 To 2771 Step 7
   If Date = Tableau_Donnees(Ligne, 0) Then
   Debug.Print Tableau_Donnees(Ligne, 0)
    Ligne2 = 0
    Colonne = 0
    Colonne2 = 0
        Do While Ligne2 < 7
            Do While Colonne2 < 34
            Tableau_Jour(Ligne2, Colonne2) = Tableau_Donnees(Ligne, Colonne)
            Colonne = Colonne + 1
            Colonne2 = Colonne2 + 1
            Loop
        Ligne = Ligne + 1
        Ligne2 = Ligne2 + 1
        Loop
        Debug.Print Tableau_Jour(Ligne2, Colonne2)
Exit For
    End If
    Debug.Print Tableau_Donnees(Ligne, 0)
Next Ligne
End Sub

EUREKA ! J'ai trouvé ! Le fait de remettre Dim Tableau...(...,....) à chaque début de sub redimensionnait les tableaux et par la même occasion les effaçaient...

Je vous post le bon code au cas où si quelqu'un passe par là !!

Merci et bonne journée !

Option Explicit
Public Tableau_Donnees(2771, 33) As Variant, Tableau_Jour(6, 33) As Variant

Sub Base_De_Données()
Dim BD As Range
Dim Ligne As Variant
Dim Colonne As Variant
'Dim Tableau_Donnees(2771, 33) As Variant FAUX !!!!!!!!!
Set BD = ActiveWorkbook.Sheets("BD QTE PRODUCTION").Range("A3:AH2774")

For Ligne = 3 To 2774
    For Colonne = 1 To 34
         Tableau_Donnees(Ligne - 3, Colonne - 1) = Sheets("BD QTE PRODUCTION").Cells(Ligne, Colonne).Value
    Next Colonne
Next Ligne

End Sub

Sub Cherche_Date_Du_Jour()

Dim DateJ As Variant
Dim Ligne As Variant
Dim Colonne As Variant
Dim Ligne2 As Variant
Dim Colonne2 As Variant
'Dim Tableau_Jour(6, 33) As Variant FAUX !!!!!!!!!
'Dim Tableau_Donnees(2771, 33) As Variant FAUX !!!!!!!!!

Call Base_De_Données

For Ligne = 0 To 2771 Step 7
   If Date = Tableau_Donnees(Ligne, 0) Then
   Debug.Print Tableau_Donnees(Ligne, 0)
    Ligne2 = 0
    Colonne = 0
    Colonne2 = 0
        Do While Ligne2 < 7
            Do While Colonne2 < 34
            Tableau_Jour(Ligne2, Colonne2) = Tableau_Donnees(Ligne, Colonne)
            Colonne = Colonne + 1
            Colonne2 = Colonne2 + 1
            Loop
        Ligne = Ligne + 1
        Ligne2 = Ligne2 + 1
        Loop

Exit For
    End If
Next Ligne
End Sub
Rechercher des sujets similaires à "remplissage tableau donnees reutilisation macro"