VBA Impossible de déclarer range à l'ouvertur

Résolu/Fermé
ben_ecocity - 15 nov. 2009 à 14:31
 ben_ecocity - 15 nov. 2009 à 15:51
Bonjour à tous,

Pas très expérimenté en VBA, je bloque depuis quelque temps sur mon code (excel2007)

l'idée est de récupérer l' "occupation" dune feuille "BDD" à l'ouverture de mon classeur ou lors de la modification de cette feuille, pour définir un range et l'exploiter dans des événements par la suite.

Pour ce faire, j'ai déclaré des variables "public" dans mon module1

CODE :
Public Nb_ligne_BDD As Integer, Nb_col_BDD As Integer
Public rg_BDD As Range

et défini ma procédure à l'ouverture de mon classeur de cette façon

CODE

Private Sub Workbook_Open()

'Récupération du nombre de lignes et colonnes "utilisées" dans la feuille "BDD"
Nb_ligne_BDD = Sheets("BDD").Range("B1048576").End(xlUp).Row
Nb_col_BDD = Sheets("BDD").Range("XFD1").End(xlToLeft).Column

Set rg_BDD = Worksheets("BDD").Range("A1:D5")
'Set rg_BDD = Worksheets("BDD").Range(Cells(1, 2), Cells(500, Module1.Nb_col_BDD))

End Sub

L'utilisation des deux premières variables (Nb_ligne_BDD, Nb_col_BDD) ne pose pas de souci, et sont exploitables dans les autres parties de mes codes, mais la définition de la variable rg_BDD ne fonctionne pas dans sa deuxième formulation. Pourquoi donc ??

Merci d'avance pour vos réponses éclairées

1 réponse

ben_ecocity
15 nov. 2009 à 15:51
Résolu

With Feuil1 ' à adapter
Set maplage = .Range(.Cells(macolonne, 2), .Cells(macolonne, maligne))
End With
0