Nomer une feuille a partir d'une celulle
#1
Accro XLPages

Inscription: 25/11/2008

Messages: 174

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 20-11-2010 09h33
bonjour a tous

j'ai démarrer un nouveau projet qui me permettra de manipuller excel,et qui me servira surment dans mon travail.

voila je voudrai savoir si c'est possible de nomer une feuille excel a partir d'une information se trouvant dans une celulle de cette dite feuille.

en vous remerciant d'avance et en vous disant a bientot car j'aurai surment encore besoins de vos connaissances pour me permettre d'avancer.
Hors Ligne
Rapport   Haut 

Re: Nommer une feuille à partir d'une cellule
#2
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 20-11-2010 16h27
Bonjour Claude40

C'est possible en VBA, un petit essai avec ce code:

Sub NomFeuille()
With ActiveSheet 'agit sur la feuille active, à adapter
    On Error Resume Next
    .Name = .Range("A1") 'le nom de la feuille prend le nom inscrit cellule A1
    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
        Exit Sub 'sortie de la macro en cas d'erreur
    End If
End With
End Sub
 

Bien à toi,

Mth




Hors Ligne
Rapport   Haut 

Re: Nommer une feuille à partir d'une cellule
#3
Accro XLPages

Inscription: 25/11/2008

Messages: 174

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 20-11-2010 19h05
rebonjour MTH,le forum

merci pour ton aide et de la patience dont tu fait preuve pour mes projets.

j'essaye tout de suite ton code

merci encore a bientot
Hors Ligne
Rapport   Haut 

Re: Nommer une feuille à partir d'une cellule
#4
Accro XLPages

Inscription: 25/11/2008

Messages: 174

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 21-11-2010 09h02
bonjour a tous,MTH

MTH j'ai essayé le code que tu ma proposé mais sa ne fonctionne pas je t'envoi le fichier pour que tu contrôle si je l'ai placé au bonne endroit.(la feuille devrai prendre le nom de l'info séléctionné dans la celulle"K3"

j'aurai aussi une autre question pour toi ou un autre menbre du forum,

la celulle "K3" posséde une liste déroulante qui est lié a d'autres informations qui devrai s'inscires dans les cases corespondantes de la "feuille1" quand je séléctionne la référence dans la liste déroulante.

la liste déroulante et les infos qui s'y rataches se trouve en "feuille2"

merci beucoup pour votre aide
Pièce jointe:
xlsm controle bry 1.xlsm   [ Taille: 16.24 Ko - Téléchargements: 493 ]
Hors Ligne
Rapport   Haut 

Re: Nomer une feuille a partir d'une celulle
#5
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 21-11-2010 14h31
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
Pièce jointe:
xlsm controle bry2.xlsm   [ Taille: 18.29 Ko - Téléchargements: 504 ]
Hors Ligne
Rapport   Haut 

Re: Nomer une feuille a partir d'une celulle
#6
Accro XLPages

Inscription: 25/11/2008

Messages: 174

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 21-11-2010 14h37

rebonjour MTH,le forum

merci beaucoup pour ton aide MTH


Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes