Attribuer nom à une colonne

rudymagny

XLDnaute Occasionnel
Je voudrais savoir s'il est possible de rentrer en dur (VBA) un nom que l'on donne à une colonne avec une formule?

Par exemple, j'ai une feuille 'Janvier' et dans cette feuille j'ai une colonne à laquelle je veux lui donner le nom 'ColACCJanvier' et à ce nom j'attribue la formule :
=DECALER(Janvier!$P$4;;;NBVAL(Janvier!$P:$P)-1)

Est ce possible dans le code VBA de la feuille d'attribuer ce nom et cette formule?

je sais po si je suis clair.

Merci d'avance
 

rudymagny

XLDnaute Occasionnel
Bonjour le forum, chris!

J'ai mis une fichier en exemple:

Ce que j'ai fais:
-s&lectionner la colonne B et faire
insertion - nom - définir :
ColAccJanvier et la formule :
=DECALER(Janvier!$B$4;;;NBVAL(Janvier!$B:$B)-1)

mais ce que je veux faire c de mettre ça dans le code VBA de la feuille 'Janvier' en VBA.

suis je plus clair?

merci d'avance
[file name=exemple_20060310063936.zip size=3257]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exemple_20060310063936.zip[/file]
 

Pièces jointes

  • exemple_20060310063936.zip
    3.2 KB · Affichages: 47

pierrejean

XLDnaute Barbatruc
bonjour rudymagny

vois si cela te conviens
j'ais testé sur la colonne c et ça a l'air de fonctionner
c'est dans un module mais il ne doit pas etre difficile de le deplacer [file name=rudimagny.zip size=8214]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/rudimagny.zip[/file]
 

Pièces jointes

  • rudimagny.zip
    8 KB · Affichages: 37

rudymagny

XLDnaute Occasionnel
J'ai essayé de faire ça:

Sub Macro1()
Sheets('Janvier').Activate

Columns('C:C').Select
ActiveWorkbook.Names.Add Name:='ColGetJanvier', RefersToR1C1:='=OFFSET(Janvier!R4C4,,,COUNTA(Janvier!C4)-1)'

Columns('E:E').Select
ActiveWorkbook.Names.Add Name:='ColAccJanvier', RefersToR1C1:='=OFFSET(Janvier!R4E4,,,COUNTA(Janvier!E4)-1)'
End Sub


pour attribuer des noms à deux colonnes et chacune leur formule.

Mais une erreur 1004 apparait sur la partie en rouge

je sais po pkoi?

je vais chercher mais si tu sais?

Merci
 

rudymagny

XLDnaute Occasionnel
erreur de traduction de la formule!!

Sub Macro1()
Sheets('Janvier').Activate

Columns('C:C').Select
ActiveWorkbook.Names.Add Name:='ColGetJanvier', RefersToR1C1:='=OFFSET(Janvier!R4C4,,,COUNTA(Janvier!C4)-1)'

Columns('E:E').Select
ActiveWorkbook.Names.Add Name:='ColAccJanvier', RefersToR1C1:='=OFFSET(Janvier!R4C5,,,COUNTA(Janvier!C5)-1)'
End Sub

ça passe beaucoup mieux ça!

Merci
 

rudymagny

XLDnaute Occasionnel
Merci beaucoup pierrejean!!

C extra c exactement ce que je voulais et ça va me faciliter le boulot!
J'étais souvent obligé de recréer ma formule quand j'ajoutait des lignes à ma colonne et ça devenait lourd!

Merci et bon week end
 

pierrejean

XLDnaute Barbatruc
bonsoir rudymagny

essaie cela

ActiveWorkbook.Names.Add Name:='ColccJanvier', RefersToR1C1:= _
'=OFFSET(Janvier!R4C5,,,COUNTA(Janvier!C5)-1)'

Je l'ais obtenu grace à l'enregistrement automatique de macro

regarde la difference entre la version vba de la formule et la version dans la definition du nom
 

Discussions similaires

Statistiques des forums

Discussions
312 609
Messages
2 090 200
Membres
104 451
dernier inscrit
scp9990