VBA Impossible de déclarer range à l'ouvertur
Résolu
ben_ecocity
-
ben_ecocity -
ben_ecocity -
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
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
A voir également:
- VBA Impossible de déclarer range à l'ouvertur
- Vba range avec variable ✓ - Forum VB / VBA
- Incompatibilité de type vba ✓ - Forum Programmation
- Range avec une Variable ✓ - Forum VB / VBA
- Out of range - Forum Ecran
- Out of range écran - Forum Windows