XL 2010 [RESOLU]Récupérer valeurs tableau d'une autre Sub

  • Initiateur de la discussion Initiateur de la discussion herve62
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
D'une sub je fais appel à une autre ou je rempli un petit tableau Tab_j(x)
lors du retour dans la sub principale je veux relire ce tableau mais il est vide ??

les 2 sub sont dan un module , j'ai mis Public tab_J ()
VB:
Sub Find_replace()
Dim tab_J(3)
    ref = .Cells(5, 4)
    trouve_ref
   
    For y = 6 To 65
    If .Cells(x, y) = "X" Then
        For Z = 1 To 3
        If .Cells(3, y) = tab_J(Z) Then .Cells(x, y) = "ok"
        Next Z
     End If
    Next y
   
End Sub
----------------
Sub trouve_ref()
Dim tab_J(3)
For j = 1 To 3
tab_J(j) = .Cells(5, j + 30)
Next j
end sub
 
Bonjour herve62,

Désolé mais votre code m'est assez incompréhensible.

Alors en supposant que vous voulez copier le tableau en Feuil2 pour le coller sur le tableau en Feuil1 :
VB:
Sub Copier_coller()
Dim d As Object, tablo, ncol%, i&, j%, x$
Set d = CreateObject("Scripting.Dictionary")
d.CompareMode = vbTextCompare 'la casse est ignorée
'---mémorisation des valeurs du tableau source ---
tablo = Feuil2.[A2].CurrentRegion
If Not IsArray(tablo) Then MsgBox "Le tableau source n'existe pas...": Exit Sub
ncol = UBound(tablo, 2)
For i = 2 To UBound(tablo)
    For j = 2 To ncol
        d(tablo(i, 1) & Chr(1) & tablo(1, j)) = tablo(i, j)
Next j, i
'---tableau de destination---
With Feuil1.[A4].CurrentRegion
    tablo = .Value
    If Not IsArray(tablo) Then MsgBox "Le tableau de destination n'existe pas...": Exit Sub
    ncol = UBound(tablo, 2)
    For i = 2 To UBound(tablo)
        For j = 2 To ncol
            x = tablo(i, 1) & Chr(1) & tablo(1, j)
            If d.exists(x) Then tablo(i, j) = d(x)
    Next j, i
    .Value = tablo 'restitution
End With
End Sub
A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
705
Réponses
4
Affichages
581
Réponses
8
Affichages
647
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
217
Réponses
2
Affichages
427
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
370
Réponses
10
Affichages
533
Réponses
3
Affichages
265
Retour