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)
Merci d'avance à tous les contributeurs.
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.