Rapport de message :*
 

Re: Nomer une feuille a partir d'une celulle

Titre du sujet : Re: Nomer une feuille a partir d'une celulle
par Mth le 21/11/2010 14:31:30

Bonjour Claude40,

Effectivement comme tu l'évoques le code n'est pas placé au bon endroit, il doit se trouver dans le code de la feuille, dans une procédure évènementielle pour se déclencher à chaque mise à jour de ta cellule K3.
Pour le placer, c'est ici:
 

et je te propose de le placer dans l'évènement Worksheet_Change, ainsi:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$K$3" Then 'si la cellule modifiée est K3
        On Error Resume Next
        ActiveSheet.Name = Range("K3") 'le nom de la feuille prend le nom inscrit cellule K3
        If Err.Number <> 0 Then 'Test d'erreur, par exemple onglet existant déjà, ou caractère invalide
            MsgBox ("Nom invalide") ' messsage d'information en cas d'erreur
            On Error GoTo 0
            Exit Sub 'sortie de la macro en cas d'erreur
        End If
    End If
End Sub

Pour tes formules, tu peux utiliser les fonctions INDEX()/ EQUIV(), par exemple en cellule D12 puis copiée dans les trois autres cellules:
=INDEX(Feuil2!$B$3:$D$6;EQUIV($K$3;Feuil2!$A$3:$A$6;0);EQUIV(B12;Feuil2!$B$2:$D$2;0))

Cette formule permet de renvoyer une valeur située dans un tableau, à l'intersection d'une ligne et d'une colonne.
Les numéros de lignes et de colonnes sont calculés grâce à la fonction EQUIV().
Par exemple pour cette partie de la formule:
EQUIV($K$3;Feuil2!$A$3:$A$6;0)

la fonction EQUIV() renvoie 2, c'est à dire que l'équivalent de la cellule K3 (soit 100668) se trouve sur la deuxième ligne de la plage A3:A6 de la feuille 2

Pour calculer la colonne, j'utilise :
EQUIV(B12;Feuil2!$B$2:$D$2;0)
qui renvoie 1, c'est à dire que le libellé de la cellule B12 se trouve dans la première colonne de la plage B2:D2 de la feuille 2

Ainsi, la fonction INDEX() va lire le tableau B3:D6 de la feuille 2, et renvoyer la valeur de la cellule se trouvant à l'intersection de la ligne 2 et de la colonne 1

J'espère que ces explications pourront t'aider, mais tu peux également consulter l'aide d'excel sur ces fonctions qui est très bien faite.

Tu trouveras ton fichier en PJ en espérant que cela pourra te convenir.
Bien à toi,

Mth