Créer un nom de cellule et s'en servir dans le code

mazuno

XLDnaute Nouveau
Bonjour, j'ai un petit problème qui n'est surement que d'ordre syntaxique, mais qui m'empeche d'avancer correctement, si quelqu'un pouvais m'aider :)
je vais tenter d'expliquer le problème le plus clairement possible lol

en gros je définit un nom de cellule sur une cellule :
Code:
ActiveCell.Offset(1, 0).Name = "Coef_" & AnneeAjoutee
et je voudrais ensuite utiliser ce nom pour la formule dans d'autres cellules histoire d'avoir la formule suivante : =AW9*(1+Coef_2012) (avec l'année pouvant varier suivant la valeur de la variable AnneeAjoutee)

c'est la que ça coince car je n'arrive pas à insérer le nom de la cellule, j'arrive soit à avoir dirrectement la valeur, ce qui n'est pas très utile, sois l'adresse, ce qui ne correspond pas à mon cahier des charges :(

voilà j'espère être clair et que vous pourrez m'éclairer. merci
 
G

Guest

Guest
Re : Créer un nom de cellule et s'en servir dans le code

Bonjour,


Code:
=AW9*(1+Range("Coef_2012"))
Ou
Code:
=AW9*(1+Sheets("LaFeuille").range("Coef_2012")
Ou
Code:
=AW9*(1+Range("Feuil1!Coef_2012"))

Ou
Code:
=AW9*(1+application.Names("Coef").RefersToRange)
A+
 
Dernière modification par un modérateur:

mazuno

XLDnaute Nouveau
Re : Créer un nom de cellule et s'en servir dans le code

salut, merci pour ta réponse rapide, mais le problème est que je ne peux pas marquer en dur dans le code
=AW9*(1+Range("Coef_2012"))
car le numéro de l'année peut et doit changer... je dois utiliser le nom que je viens de créer... je sais pas si tu vois ce que je veux dire
 

mazuno

XLDnaute Nouveau
Re : Créer un nom de cellule et s'en servir dans le code

je t'héberge une capture d'écran car le fichier fait 20mega et que je n'ai pas le droit de le diffuser
j'espere que tu mieux pourra comprendre
http://img718.imageshack.us/i/exemplek.jpg/

Uploaded with ImageShack.us

en gros dans mon fichier on rentre les heures effectuées par toutes les personnes participant à un projet, et il calcule en fonction des taux horaires et d'autres coef, le cout total du projet et tout les chiffres nécéssaires...

et donc on à plusieurs années, et je doit faire une macro pour ajouter une année au fichier.

voilà où en est ma macro pour le momment :
Code:
    NbAnnee = CalculerNbAnnees 'fonction qui calcule le nombre d'années dans ma feuille excel
    Cells(1, 7 + 14 * (NbAnnee - 1)).Range("A1:N1").EntireColumn.Select
    AnneeAjoutee = CInt(Right(ActiveCell, 4)) + 1    'je récupère le numéro de l'année ajoutée
    Selection.Copy
    ActiveCell.Offset(0, 14).Range("A1").Select
    Selection.Insert Shift:=xlToRight     'je colle pour avoir une nouvelle année, 
'il ne me reste qu'a mettre a jour les formules pour passer (dans le cas de mon exemple), de 2012 à 2013

    ActiveCell.Formula = "Coef " & AnneeAjoutee    'ici je remplace "Coef 2012" par "Coef 2013"
    ActiveCell.Offset(1, 0).Name = "Coef_" & AnneeAjoutee 'je nomme la cellule qui contient mon coef
    
    ActiveCell.Offset(3, 0).Formula = AnneeAjoutee & " hourly rate"
    
'la je dois changer les taux horaires (colonne en jaune) pour qu'ils soient egaux à ceux de l'année précédente multipliés par le coef de l'année ajoutée...
    ActiveCell.Offset(5, 0).Formula = "=RC[-14]*(1 + Range("Coef_" & AnneeAjoutee))       'et c'est ici que je n'arrive pas à écrire =AW9*(1+Coef_2013)   correctement


voila c'est un peu lord je comprends que ça puisse te souler lol mais bon c'est deja sympa de m'aider^^ je vais cherche par moi même à coté mais je trouve pas :s
 

mazuno

XLDnaute Nouveau
Re : Créer un nom de cellule et s'en servir dans le code

"=RC[-14]*(1 + " & "Coef_" & AnneeAjoutee & ")"

génial merci c'est ça :)
c'est pénible tout ces problèmes de syntaxe dans ce langage :/

merci beaucoup et bonne journée
 
G

Guest

Guest
Re : Créer un nom de cellule et s'en servir dans le code

Bonjour,

c'est pénible tout ces problèmes de syntaxe dans ce langage/QUOTE]

Et pourtant VB et VBA sont les langages les plus souples que je connaisse au niveau de la syntaxe.

Dans ces cas là, utiliser les points d'arrêt sur une ligne et tester les variables.

Cela souligne aussi l'importance de bien rédiger ses demandes, avec exemples et ce qui va avec.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 853
Membres
103 975
dernier inscrit
denry