enregistrer une zone de nom par vba

  • Initiateur de la discussion nono
  • Date de début
N

nono

Guest
slt le forum,

Voilà comme le dit mon super titre, j'essaie d'enregistrer une zone de nom avec vba mais c'es pas gagné !!!
Voila ou j'en suis :

total = 8
total2 = 57
range(("C" & total), ("Z" & total2)).select
set zone = activecell
activeworkbook.names.add name:="zone", referstoR1C1:=activecell

'ensuite je veux faire une action sur toutes les cellules de ma zone de nom

for j=1 to range(zone).cells.count

Bon voilà, bien sur ca ne marche pas, alors help !!!!
d'avance merci
nono ;-)
 
@

@+Thierry

Guest
Bonsoir Nono, le Forum

Je ne sais pas ce que tu vas bien pouvoir faire de çà, mais voici comment j'écris le code correspondant à ta demande :

Sub NamePlage()
Dim WB As Workbook
Dim Cell As Range, Plage As Range
Dim i As Integer, j As Integer, X As Integer
Dim Message As Long

i = 8
j = 57

Set WB = ThisWorkbook
Set Plage = WB.Sheets("Sheet1").Range("C" & i & ":Z" & j)

WB.Names.Add "Zone", Plage

For X = 1 To Range("Zone").Cells.Count
Message = Message + 1 & vbCrLf
Next X

MsgBox Message & " Cellules trouvées dans la plage nommée ""Zone"""

End Sub

Amuse toi bien !!! lol

@+Thierry
 
M

michel

Guest
bonsoir Nono

si j'ai bien compris ta demande , la macro ci-dessous nomme une plage de cellule
puis un message affiche le nombre de cellules dans la plage

Sub NommerPlageEtCompterCellules()
Dim Cible As String
Dim Total As Integer, Total2 As Integer
Dim Plage As Range

Total = 2
Total2 = 5
Cible = "=Feuil1!" & Range("C" & Total & ":F" & Total2).Address
ActiveWorkbook.Names.Add Name:="xd", RefersTo:=Cible

Set Plage = Sheets("Feuil1").Range("xd")
MsgBox "Il y a " & Plage.Count & " cellules dans la plage nommée . "

End Sub


j'espere que cela pourra t'aider
bonne soiree
michel
 
N

nono

Guest
slt @+Thierry, slt michel, le forum,

merci beaucoup pour vos réponses aussi prompt, comme je ne suis pas aussi ballèse que, vous, il va me falloir un petit temps pour savoir si vos solutions sont adaptées à mon problème, mais a priori, y a pas de problèmes alors merci encore...
a+
nono ;-)
 
@

@+Thierry

Guest
Bonsoir Michel, Nono, le Forum

Heuh non pas vraiment plus logique car c'est la demande de Nono qui ne me frappe pas par sa logique, moi j'ai bêtement retranscrit ce que j'ai cru comprendre...

Si Nono veut simple compter le nombre de cellules dans une Plage définie dynamiquement il y a bien plus simple sans nommer la plage, mais je ne sais pas si c'est ce qu'il veut ?

Admettons que ce soit la demande...

Option Explicit

Sub NamePlage()
Dim WB As Workbook
Dim Cell As Range, Plage As Range
Dim i As Integer, j As Integer

i = 8
j = 57

Set WB = ThisWorkbook
Set Plage = WB.Sheets("Feuil1").Range("C" & i & ":Z" & j)

MsgBox Plage.Count & " Cellules trouvées dans la plage nommée ""Zone"""

End Sub

Mais peut-être Nono a besoin de plage nommée aussi... Enfin on verra, il a l'embarras du choix maintenant...

Bonne Soirée, moi je vais voir de ce pas mon fil Lien supprimé [où j'ai déjo vu ton nom quelque part Michel....[/i]

@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 611
dernier inscrit
sebboes