Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

nommer automatiquement des cellules

sri75

XLDnaute Occasionnel
Bonjour à tous.

Je voudrais nommer automatiquement les cellules d'une colonne en fonction d'une zone que je détermine à l'avance.

ex en colonne C je voudrais nommer les cellules de C5 à C20 avec un nom qui s'incrémente ( ext C1 = test_toto C2 = test_toto2 C3 = test_toto3 etc... ).

je pense entrer ma zone avec un inputbox mais après je nage.

merci de votre aide

Stephane
 
M

Moa

Guest
Salut Sri75 !

Un truc de ce genre te conviendrait-il ?

Sub Macro1()
Dim i As Integer
Dim Cell As Range
For i = 3 To 7
For Each Cell In Range('B3:b' & i)
If Cell = '' Then
Cell = 'Test_Toto' & i
End If
Next Cell
Next i
End Sub

@ +++


Moa
 

sri75

XLDnaute Occasionnel
Malheureusement il ne s'agit pas de mettre un nom dans la cellule mais de nommer la cellule c'est à dire la faire s'appeler toto au lieu de A1


il s'agit de la commande suivante :

Range('C9').Select
ActiveWorkbook.Names.Add Name:='toto', RefersToR1C1:='=Feuil1!R9C3'

Là C9 devient toto
 

Moa

XLDnaute Occasionnel
Re !

Il te suffit de suivre l'exemple ci-dessus pour faire une boucle avec une variable.

Ta variable te servira pour incrémenter tes cellules ainsi que tes noms.

Désolé, je dois partir à un Rv.


@ +++


Moa
 

sri75

XLDnaute Occasionnel
Ca y est c'est fait

Sub nomme_cellule()
'macro servant à nommer des cellules dans la colonne ou l'on se trouve
'le numéro est fonction des lignes

Dim i As Integer
Dim Cell As Range

dep = InputBox('indiquez la ligne de départ')
fin = InputBox('indique la ligne de fin')
nom_col = InputBox('indiquez le nom des zones ( ex: s_tab)')

col = ActiveCell.Column


For i = dep To fin

nom = nom_col & i

zone = 'R' & i & 'C' & col

ActiveWorkbook.Names.Add Name:=nom, RefersToR1C1:='=Feuil1!' & zone

Next i
End Sub

Merci à tous pour votre aide

Stephane
 

Moa

XLDnaute Occasionnel
Re Sri75 !

Je viens de revenir de mon Rv et ton exemple m'a trotté dans la tête.

Voilà le résultat, assez simple en fait :

Sub Macro2()
Dim i As Integer
Dim Cell As Range
For i = 9 To 12
For Each Cell In Range('C' & i & ':C' & i)
Cell.Application.Names.Add Name:='toto' & i, RefersToR1C1:='=feuil1!R' & i & 'c3'
Next Cell
Next i
End Sub

@ +++


Moa
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Stéphane, Moa, le forum,

Moa est revenu de son RV plus vite que je ne pensais... Comme je travaillais sur ton problème je te l'envoie quand même.
[file name=stephane.zip size=12440]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/stephane.zip[/file]
 

Pièces jointes

  • stephane.zip
    11.5 KB · Affichages: 68
  • stephane.zip
    11.5 KB · Affichages: 72
  • stephane.zip
    11.5 KB · Affichages: 84

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…