Bonjour,
Je cherche à creer des listes de validations listant des données présentes dans d'autres feuilles du classeur. Pour cela, il est necessaire de nommer des plages de données, et la est mon problèmes.
Le nombre de listes déroulantes à concevoir est relativement important, plusieurs centaines. J'aurais souhaité, pour m'éviter à la fois de devoir creer ces liste et les noms, automatiser cette saisie en VBA.
Dans un premier temps je défini les plages de donnée concernée puis je les associe à la valeur d'une cellue d'une autre feuille excel dans laquelle je referencer l'ensemble des noms à donner.
Sub test_liste()
'
Dim NClasseur, NFRef, NFCons As String
Dim IFRef, IFCons, i, j, k As Integer
Dim lig, col As Integer
Dim PlgCons, PlgConsDeb, PlgConsLig As Range
Dim c_noms, d_noms, l_noms, v_noms As Chart
Init:
'===================================================================================================
' Initialisation des noms et index du classeur actifs et des feuilles utilisées
NClasseur = ActiveWorkbook.Name
NFRef = 1 'feuille consolidation
IFRef = 4 'feuille formulaire
lig = 3
'===================================================================================================
With Workbooks(NClasseur).Worksheets(2)
.Activate
Set PlgConsDeb = .Cells(lig, 3)
Set PlgConsLig = Range(Cells(1, lig), Cells(50, lig))
d_noms = ActiveWorkbook.Sheets(9).Cells(lig, 1).Value
c_noms = ActiveWorkbook.Sheets(9).Cells(lig, 2).Value
l_noms = ActiveWorkbook.Sheets(9).Cells(lig, 3).Value
End With
ActiveWorkbook.Names.Add Name:="d_noms", RefersToR1C1:="PlgConsdeb"
ActiveWorkbook.Names.Add Name:="c_noms", RefersToR1C1:="PlgConsLig"
ActiveWorkbook.Names.Add Name:="l_noms", RefersToR1C1:="=OFFSET(Plg,0,0,COUNTA(PlgConsDeb.name)-1,1)"
Je n'ai pas encore inseré de boucle dans mon code, je voulais voir dans un premier temps si le nommage des cellules fonctionné, ce qui n'est malheureusement pas le cas.
Le problème est surement simple, mais je suis depuis une journée dessus et je n'ai pas trouvé !
Merci pour votre aide
Magali
Je cherche à creer des listes de validations listant des données présentes dans d'autres feuilles du classeur. Pour cela, il est necessaire de nommer des plages de données, et la est mon problèmes.
Le nombre de listes déroulantes à concevoir est relativement important, plusieurs centaines. J'aurais souhaité, pour m'éviter à la fois de devoir creer ces liste et les noms, automatiser cette saisie en VBA.
Dans un premier temps je défini les plages de donnée concernée puis je les associe à la valeur d'une cellue d'une autre feuille excel dans laquelle je referencer l'ensemble des noms à donner.
Sub test_liste()
'
Dim NClasseur, NFRef, NFCons As String
Dim IFRef, IFCons, i, j, k As Integer
Dim lig, col As Integer
Dim PlgCons, PlgConsDeb, PlgConsLig As Range
Dim c_noms, d_noms, l_noms, v_noms As Chart
Init:
'===================================================================================================
' Initialisation des noms et index du classeur actifs et des feuilles utilisées
NClasseur = ActiveWorkbook.Name
NFRef = 1 'feuille consolidation
IFRef = 4 'feuille formulaire
lig = 3
'===================================================================================================
With Workbooks(NClasseur).Worksheets(2)
.Activate
Set PlgConsDeb = .Cells(lig, 3)
Set PlgConsLig = Range(Cells(1, lig), Cells(50, lig))
d_noms = ActiveWorkbook.Sheets(9).Cells(lig, 1).Value
c_noms = ActiveWorkbook.Sheets(9).Cells(lig, 2).Value
l_noms = ActiveWorkbook.Sheets(9).Cells(lig, 3).Value
End With
ActiveWorkbook.Names.Add Name:="d_noms", RefersToR1C1:="PlgConsdeb"
ActiveWorkbook.Names.Add Name:="c_noms", RefersToR1C1:="PlgConsLig"
ActiveWorkbook.Names.Add Name:="l_noms", RefersToR1C1:="=OFFSET(Plg,0,0,COUNTA(PlgConsDeb.name)-1,1)"
Je n'ai pas encore inseré de boucle dans mon code, je voulais voir dans un premier temps si le nommage des cellules fonctionné, ce qui n'est malheureusement pas le cas.
Le problème est surement simple, mais je suis depuis une journée dessus et je n'ai pas trouvé !
Merci pour votre aide
Magali