VBA_référence unique de tableau

grodep

XLDnaute Occasionnel
Bonjour à tous,
j'ai créé une macro vba que je souhaite faire tourner sur toutes les feuilles de mon classeur et qui se déclenche lors de la sélection d'une cellule particulière. J'avais initialement songé à le faire donc tourner en private sub Worksheet, puis ai souhaité le passer en private sub Workbook
Mon souci est que dans la dite macro, il est fait référence à un tableau, or je ne peux nommer mes tableaux sous un nom identique sur chaque feuille.
Du coup, je suis bloqué!
LA solution est-elle d'appeler le nom du tableau pour l'insérer dans le code et si oui comment? (il y a deux tableaux par feuille et un seul est concerné par ma macro)
Code:
Dim lignom As Long
Dim derlig As Long
With ActiveSheet
derlig = Range("A1").End(xlDown).Row + 1
lignom = .Range("tableau3[Noms]").Row - 1 ' c'est là qu'est mon souci 
Set mondico = CreateObject("Scripting.Dictionary")
Range(Cells(derlig, 3), Cells(lignom, 32)).ClearContents
For i = 3 To 32
For j = lignom + 1 To lignom + 41
If Cells(j, i) <> "" Then temp = Cells(j, 1)
mondico(temp) = temp
t = lignom - 1 
Next j
For Each c In mondico
          Cells(t, i).Value = c
          t = t - 1
          Next c
          temp = ""
          mondico.RemoveAll
Next i
End With

Merci d'avance à tous les contributeurs.
 

pierrejean

XLDnaute Barbatruc
Re : VBA_référence unique de tableau

Bonjour grodep

Une idée :
nommer les tableaux par ex "tablo1" ,"tablo2" , "tablo3" etc
creer variable : var=Array("tablo1" ,"tablo2" , "tablo3" etc)
exploiter ensuite:
for n=1 to sheets.count
...
lignom = .Range(var(n-1)).Row - 1
...
next
 

Discussions similaires

Réponses
12
Affichages
253
Réponses
2
Affichages
154
Réponses
7
Affichages
334

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise