Bonjour à tous,
Je reviens vers vous suite à mon dernier message d'hier. Au passage, encore un grand merci à Dranreb pour son aide.
sujet ici https://www.excel-downloads.com/thr...oms-des-plages-sur-plusieurs-colonnes.185014/
Dranreb m'a donné la solution de macro suivante...
Cependant, et ne voulant pas non plus trop le solliciter j'aimerai savoir comment modifier cette macro de manière à ce qu'elle me créer des noms mais en zone étendue sur le "Classeur" et nom pas sur la feuille active, car j'aurai besoin de ces noms pour les intégrer dans des formules sur d'autres feuilles du même classeur...
Il faudrait donc que cette macro nomme mes plages sur l'étendue du classeur...
Sub déf_noms()
Dim Cel As Range, Nom As String, Réf As String
For Each Cel In ActiveSheet.Rows(1).Cells
Nom = Replace(Cel.Value, " ", "_")
If Nom <> "" Then
Réf = "=OFFSET(" & Cel.Address(True, True, xlA1, True) & ",1,0,COUNTA(" & ActiveSheet.Columns(1).Address(True, True, xlA1, True) & ")-1,1)"
On Error Resume Next
ActiveSheet.Names.Add Nom, Réf
If Err Then MsgBox "Impossible de nommer """ & Nom & """ la réf:" & vbLf & Réf, vbCritical, "Noms dynamiques"
On Error GoTo 0
End If
Next Cel
End Sub
Merci pour votre aide précieuse... car niveau vba, pour ma part je ne m'en sors pas vraiment
Cordialement.
Je reviens vers vous suite à mon dernier message d'hier. Au passage, encore un grand merci à Dranreb pour son aide.
sujet ici https://www.excel-downloads.com/thr...oms-des-plages-sur-plusieurs-colonnes.185014/
Dranreb m'a donné la solution de macro suivante...
Cependant, et ne voulant pas non plus trop le solliciter j'aimerai savoir comment modifier cette macro de manière à ce qu'elle me créer des noms mais en zone étendue sur le "Classeur" et nom pas sur la feuille active, car j'aurai besoin de ces noms pour les intégrer dans des formules sur d'autres feuilles du même classeur...
Il faudrait donc que cette macro nomme mes plages sur l'étendue du classeur...
Sub déf_noms()
Dim Cel As Range, Nom As String, Réf As String
For Each Cel In ActiveSheet.Rows(1).Cells
Nom = Replace(Cel.Value, " ", "_")
If Nom <> "" Then
Réf = "=OFFSET(" & Cel.Address(True, True, xlA1, True) & ",1,0,COUNTA(" & ActiveSheet.Columns(1).Address(True, True, xlA1, True) & ")-1,1)"
On Error Resume Next
ActiveSheet.Names.Add Nom, Réf
If Err Then MsgBox "Impossible de nommer """ & Nom & """ la réf:" & vbLf & Réf, vbCritical, "Noms dynamiques"
On Error GoTo 0
End If
Next Cel
End Sub
Merci pour votre aide précieuse... car niveau vba, pour ma part je ne m'en sors pas vraiment
Cordialement.