Renommer un feuille par la valeur d'une de ses cellules ? [Résolu]

Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
- - Dernière réponse : cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
- 25 mai 2007 à 01:42
Bonjour à tous,

J'essaie de trouver la syntaxe pour renommer une feuille par la valeur d'une de ses cellules.
Concrètement une feuille nommée :  Fiche(2) contient en A4:B4 (cellules liées) la valeur T123 , et je voudrais que la feuille soit renommée de cette valeur T123 par la macro :

   Sheets("Fiche (2)").Select
   x = Range("A4:B4").Value
   Sheets("Fiche(2)").Name = (x)

La dernière ligne de la syntaxe ci-dessus n'est évidemment pas bonne ...
Merci pour toute aide.
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
3
Merci
Mais je dirai en gros :

Sheets("Fiche (2)").Name = CStr(Range("A4").Value & Range("B4").Value))

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~

( Nouveau forum : Exclusivement Office & VBA )
..................................................................     
<hr size="2" width="100%" />                                                                                                                   

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 131 internautes nous ont dit merci ce mois-ci

Commenter la réponse de mortalino
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
0
Merci
Salut,

déjà, Comment veux-tu renommer une feuille par les valeurs d'une plage de données ???
"Range("A4:B4")  --> c'est 2 cellules, donc 2 valeurs différentes !

Sinon, depuis quelle feuille ?  et précise donc par rapport à ma remarque précédante aussi

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~

( Nouveau forum : Exclusivement Office & VBA )
..................................................................     
<hr size="2" width="100%" />                                                                                                                   
Commenter la réponse de mortalino
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
0
Merci
Mortalino, "en gros"... t'as tout juste : sauf une petite parenthèse en trop (la dernière).
Pour que je sois plus clair, les cellules A4 et B4 sont fusionnées (et pas liées), donc il n'est fait référence qu'à une seule donnée.
La macro qui utilise ce bout de syntaxe est destinée à lister des données dans une feuille "Sommaire", qui ont été saisies au préalable dans une feuille "Fiche" que la macro sauvegarde dans une feuille du nom de la valeur donnée en A4:B4. La feuille "Sommaire" reprend des données principales (en ligne) ; à la sélection via filtrage d'une ligne, un "bouton" permet d'afficher la feuille correspondant au non en colonne A:B de la ligne résultat du filtrage.
Voilà
Merci de ton aide aussi efficace que rapide !
Commenter la réponse de CerberusPau
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
0
Merci
De rien.


Normalement, en cas de fusion de cellules, il me semble que c'est l'adresse de la première cellule qui est prise compte (ex : tu fusionnes A1:D8, Range("A1") doit correspondre à cette fusion.

Cependant, je me permet de te conseiller de renommer tes plages de cellules.
Ex. : Sélectionnes tes cellules fusionnées, au dessus de l'intersection des entêtes de lignes et colonnes, tu as une case (à gauche de fx) avec l'adresse de la cellule séectionnée, tu cliques dedans, et tu renommes comme tu veux, admettons, AdresseFeuille.
Ensuite, pour travailler en vba avec, tu fais Range("AdresseFeuille"), et (avantage ) le fait de ne pas être sur la feuille où se trouve cette plage de données, cela n'aura aucune incidence sur ton code.

@++
                        ( Nouveau forum :Exclusivement Office & VBA )
Commenter la réponse de mortalino
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
15
0
Merci
Et moi je te conseille de ne jamais fusionner des cellules.
Tu peux utiliser l'alignement sur plusieurs colonnes qui donne le même effet et qui ne cause pas les désagréments reliés au fusionnement

MPi
Commenter la réponse de cs_MPi