Renommer onglet par macro ?

Résolu/Fermé
waea Messages postés 42 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 31 août 2015 - 6 févr. 2010 à 19:29
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 11 févr. 2010 à 14:34
Bonjour,
voilà mon pb : est-il possible de renommer un onglet de classeur, en lui appliquant un nom ?
je m'explique, imaginons que je nomme une cellule BIDULLE.........est-il possible qu'en appuyant sur un bouton macro, l'onglet N° 2 (par exemple), prenne le nom de BIDULLE.
j'ai 6 feuilles et je voudrais que cette macro concerne la feuille N° 2 par exemple !

de la même manière est-il possible d'avoir un bouton qui ré initialise tous les onglets comme ils étaient au départ : Feuil1, Feuil2, etc.... de manière à remettre l'application à son état d'origine une fois l'utilisation terminée ?

voilà pour l'instant ce que je peux dire
si vous avez besoin de plus d'infos, je suis là!

merci d'avance
A voir également:

20 réponses

tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
9 févr. 2010 à 22:20
Bonjour tt le monde,
j'ai hésité mais bon allez jm'en mele......si et seulement si tu nous donnes les bonnes infos waea !!!
Je te cite : "j'adapte avec mon application parent, mais seulement au niveau des cellules, ou de petites choses qui (je crois) n'ont aucune incidence" => bah c ptet bien là qu'est tout le problème, tout ceux qui te donnent du code ici l'ont testé...mais avec les parametres que tu donnes ! Le noms, changent régulièrement, on te fais un code pour une cellule, elle bouge (B7 => C13 et pareil sur d'autres posts) etc....A tous les coups tu as inséré/ supprimé des onglets et le CodeName de ce que tu appelles 3e onglet n'est pas Feuil3....
Alors voilà, soit tu dis tout et même mieux tu postes ton classeur de travail, soit tu fais "galérer" tout les gens compétents et de bonne volonté qui essaient de t'aider.....
tu as des problèmes simples mais tu compliques la vie de ceux qui veulent t'aider, c pas cool franchement....et c'est pas la première fois comme l'as dit eric.....
5
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
10 févr. 2010 à 11:48
met une copie sur ci-joint.fr et colle le lien dans un post.
Enlève les données confidentielles et tout et tout.
parce que moi je n'ai pas d'erreur.... la variable nomFeuille ne serait pas renseignée
parceque la méthode à droite du signe = n'est pas correct.
as-tu corrigé le nom de la feuille - utilise copier / coller ( ça supprime la dyslexie)

le post 31 aurait dû te renseigner....
5
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
10 févr. 2010 à 08:59
j'ai tout fait et la touche F8 ne donne rien...............;;rien ne se passe
ce que tu dis n'es pas possible...
le code fait ceci.
1) récupère le futur nom de l'onglet et le stock dans nomFeuille.
2) si la cellule C13 en feuille("Accueil") est vide on quitte
Ah! oui! on écrit accueil et pas acceuil (phonétiquement ça donne asseuil) perso j'ai fait un copié collé de ton post 21
donc chez moi il y a accueil partout.
Attention les charactère spéciaux qui sont interdits pour une feuille ne sont pas gérés

3) pour chaque feuille (sh) de ton classeur
faire a) si le nom de code de la feuille est "Feuil3" alors on la nomme avec ce que l'on a dans nomFeuille
4) sinon on ne fait rien
5) si on a rien trouvé ( aucune feuille correspondante) on ne touche à rien....

donc dans tous les cas, sauf charactère spéciaux interdits pour les noms de feuille, ça marche.
4
bonjour,

en refaisant la procédure d'hier, j'ai avec l'espion ceci :
Break : : nomFeuille : <Argument ou appel de procédure incorrect> : Empty : Module1.vers_class1 (si je choisi arrêt si la valeur est vraie) il y a une main avec un post it dessus!

est-ce que cela peut vous renseigner parce que moi, je coule !

A+
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
6 févr. 2010 à 21:03
Bonjour,
En supposant que tu travailles avec Excel, la réponse est oui.

Sheets("Feuil2").Name = "Bidulle"

Est-ce que Bidulle est le nom de te cellule ou sa valeur ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
6 févr. 2010 à 21:24
oui! c'est possible!

premier bouton

sub renomme()
sheets(2).name="Bidule" la feuille portant l'index 2 sera renommée ( à la création du classeur c'était la feuille 2)

End sub
deuxieme bouton


Sub initialise()
Dim sh As Variant
Dim i As Integer
i = 0
For Each sh In Worksheets
   i = i + 1
   sh.Name = "Feuil" & i
Next


End Sub
0
Bonjour et merci d'avoir pris le temps de répondre
mais serait-il possible d'avoir quelques explications sur le code ?
par ex, à quoi correspond sh, et i ? ce sont des variables c'est ça ?
il est toujours intéressant de comprendre ce que vous, les experts nous donner !

encore merci, je vais tester le code et vous tenir au courant

A+
waea
0
waea Messages postés 42 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 31 août 2015 > waea
6 févr. 2010 à 23:03
Par ailleurs, en ce qui concerne la 1ère macro, il faudrait, si cela est possible que le nom de l'onglet soit celui, qui peut changer, dans une cellule
par ex en B7 j'ai une cellule où je j'écris bidulle, mais une fois que je réiniitalise les onglets, je voudrais pouvoir de nouveau changer le nom qui reviendrait de nouveau dans le même onglet;

est-ce que tout cela est clair pour vous ????

voilà un petit plus!

merci encore
0
waea Messages postés 42 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 31 août 2015 > waea Messages postés 42 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 31 août 2015
7 févr. 2010 à 11:58
Encore qq petites questions :

voilà, j'ai 7 feuilles dans le classeur, et la 1ère feuille renommée est la 3e, puis la 4e, etc....
je souhaiterais que la macro de ré initialisation des onglets ne débute qu'à la 3e feuille (les deux premières étant nommer à titre définitif).

cela est-il possible et comment ?

2nd question : la macro qui renomme les onglets doit permettre d'ouvrir directement la feuille. J'essaye d'inclure un code mais je coince!!!!!!

quelqu'un peut-il me venir en aide

merci d'avance
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289 > waea
7 févr. 2010 à 14:58
Bonjour,
Oui, sh et i sont des variables. Dim permet de déclarer les variables et As est suivi du type (Variant, entier, ...)

Par contre, par rapport à la solution de Bidoulleu_R, je te proposerais plutôt

Sub initialise()
Dim sh As Worksheet
For Each sh In Worksheets
   sh.Name = sh.CodeName
Next sh
End Sub


Le nom réinitialisé est celui qu'avait la feuille à sa création, indépendamment de l'ordre des feuilles dans le classeur : tout dépend de ton besoin. Par exemple, tu as un classeur de 3 feuilles, tu déplaces la feuille 3 entre les feuilles 1 et 2. Tu renommes tes feuilles. La macro de Bidouilleu_R te retournera dans l'ordre Feuil1, Feuil2, Feuil3, la mienne te donnera Feuil1, Feuil3, Feuil2.

Ton post 4 n'est pas clair pour moi :par ex en B7 j'ai une cellule où je j'écris bidulle, mais une fois que je réiniitalise les onglets, je voudrais pouvoir de nouveau changer le nom qui reviendrait de nouveau dans le même onglet; = dans quel onglet ? Après réinitialisation, comment se nomme ton onglet Bidulle ?

Dans le post 5 la macro qui renomme les onglets doit permettre d'ouvrir directement la feuille= de quelle feuille parles-tu ?
0
waea Messages postés 42 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 31 août 2015 > Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013
7 févr. 2010 à 16:07
Bonjour et merci d'avoir répondu;
je vais expliquer un peu plus

j'ai une cellule ex: B7 dans laquelle je note bidulle.....
avec un bouton et la macro correspondante, l'onglet n° 3 devient bidulle .............et la feuille devrait s'ouvrir à l'écran
après ré initialisation, la feuille 3 devient Feuil3 (comme à l'origine), alors que les feuilles 1 ET 2 ont déjà été renommées (et je souhaiterais qu'elles ne soient pas touchées par la réinitialisation) ! ex la feuille 1 est "accueil" et la feuille "type".

voilà je l'espère une explication plus claire de ce que je souhaiterais.
de mon côté je fais des essais mais sans succés

merci de m'aider
waea
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
7 févr. 2010 à 18:47
Bonjour,

Par curiosité pourrais-tu dire qu'est-ce qui te pousse à changer le nom de l'onglet pour le retablir ensuite ?
Peut-être qu'il y a une autre façon de faire...
eric
0
waea Messages postés 42 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 31 août 2015
7 févr. 2010 à 19:23
Bonjour,

tout simplement parce que comme ça je retrouverais le bon onglet parmi tous les autres;
et pour la seconde question, c'est une solution pour retrouver mon classeur dans son état d'origine sans avoir à tout remettre moi même.
le classeur sera "nettoyé" et prêt à une nouvelle utilisation

j'espère avoir répondu à vos questions............mais si je peux me permettre je piaffe d'impatience d'avoir des petites réponses pour faire avancer mon projet.

merci d'avoir pris connaissance de mon post

waea
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
7 févr. 2010 à 19:33
comme ça je retrouverais le bon onglet parmi tous les autres
Qcq chose m'échappe encore... C'est au cas où qcq renomme l'onglet ?
Qu'il s'appelle 'toto' ou 'tata' qu'est-ce que ça change ?
Si personne ne le renomme tu le retrouves, si qcq'un le renomme c'est perdu pareil...
Eventuellement mémorise les name et les codename (qui ne changent jamais même si tu renommes l'onglet ou le déplace) et rétabli ensuite
eric
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
8 févr. 2010 à 09:30
Bonjour à tous,
Merci à Gord21 pour sh.Name = sh.CodeName et pour le suivi. de plus les remarques
du post 6 et 8 (eriic) sont pertinentes... on a souvent tendance à "coder" tout et n'importe quoi
Ce n'est pas parce qu'il est possible de le faire que c'est la meilleure solution.
0
waea Messages postés 42 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 31 août 2015
8 févr. 2010 à 10:24
Bonjour,

excusez moi tous, mais si je peux me permettre, il me semble que la pertinence de ma demande ne doit pas rentrer en ligne de compte !
si cela m'intéresse, je ne vois pas pourquoi je ne pourrais pas essayer !
si je vous demande votre aide c'est parce que vous êtes plus qualifiés que moi............et je constate que l'esprit ouvert des gens de l'informatique laisse un peu à désirer.
si vous prenez le temps de me répondre, pourquoi ne pas vouloir me donner un petit coup de main ??????
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
8 févr. 2010 à 11:19
ne t'offusque pas wea,
Les remarques de eriic et de Gord21 sont appropriées, elles sont sutout faites dans le but de t'aider.
Ce n'est pas une critique négative. Le fait est que la plus part du temps, l'utilisateur a une vision personnelle de
la situation, cela ne signifie pas qu'elle soit négative ou erronée. Poser la question du besoin permet à
l'utilisateur de lever certaines ambiguités, en l'abscence de réponse on peut se retrouver dans une situation
ou on fini par programmer quelque chose qui existe déjà mais que l'utilisateur ne connaissait pas et que le programmeur n'a pas suggeré.

Ici tu trouveras toujours de l'aide, sans moquerie, sans esprit pédant, du partage de connaissance simplement.
Si donc tu as besoin de précision supplémentaire pour ton besoin. je reste là.

A+
R
0
Bon, alors maintenant on peut peut-être avancé un peu !
mes demandes restent les mêmes !
dans les messages précédents j'ai expliqué (je l'espère clairement) ce qui me posais problème.
1 l'onglet renommé ne s'ouvre pas directement.............;et je le souhaiterais.
je sais ouvrir une feuille, mais lorsqu'elle a été renommée et que ce nom peut changer, je ne troouve pas le code.

2 de plus au niveau de la ré initialisation des onglets, le code part de la 1ère feuille (normal) mais je souhaiterais qu'elle parte de la 3e feuille, pour que les 2 premières restent comme figées.

voilà, voilou !
un petit coup de main?

merci
waea
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
8 févr. 2010 à 13:38
premier bouton
place ce bouton sur la feuille qui contient le nom de la feuille (bidule)
place le code ci-dessous dans un module .

Sub TrouveFeuille()
Dim nomFeuille As String ' variable qui va contenir "bidule" : le nouveau nom de la feuille
Dim sh As Worksheet '
nomFeuille = ActiveSheet.Range("b7")  ' la cellule B7 contient ton nom de feuille
If nomFeuille="" then nomFeuille="Feuil3" ' si il y a n'importe quoi dans la cellule...

For Each sh In Worksheets
    If sh.CodeName = "Feuil3" Then
       sh.Name = nomFeuille
       sh.Select
       Exit For  ' on a trouvé on quitte
    End If
Next sh

End Sub




Deuxième bouton
place ce code dans le même module
les feuille 1 et 2 ne seront pas renomées.


Sub initialise()
Dim sh As Worksheet
For Each sh In Worksheets
    If (sh.CodeName <> "Feuil1") And (sh.CodeName <> "Feuil2") Then
       sh.Name = sh.CodeName
    End If
Next sh
End Sub


tu dis si cela convient et si oui met en résolu s'il te plait.
0
waea Messages postés 42 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 31 août 2015
8 févr. 2010 à 15:06
Bonjour,

merci tout d'abord de me donner des éléments concrets !

en ce qui concerne le 2nd code, j'ai essayé mais en fait se sont les 2 premières feuilles qui se ré initialisent et pas les autres.
la 1ère s'appelle accueil et la seconde type............les autres (qui ont été renommées) doivent reprendre leur aspect initial Feuil3, feuil4, etc....;


en ce qui concerne le 1er code, il bloque au niveau de sh.Name = nomFeuille qui apparait en surbrillance ?


j'adapte avec mon application parent, mais seulement au niveau des cellules, ou de petites choses qui (je crois) n'ont aucune incidence.

je suis désolé mais j'ai encore besoin d'aide !
merci

waea
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
8 févr. 2010 à 15:59
pour la deuxième macro
la feuille qui se nomme accueil ne sera pas renommée
idem pour type

Sub initialise()
Dim sh As Worksheet
For Each sh In Worksheets
    If (sh.Name = "type") And (sh.CodeName = "accueil") Then ' le nom de tes feuilles
     else
       sh.Name = sh.CodeName
    End If
Next sh
End Sub


pour la deuxième partie,
As-tu renseignée la feuille contenant le bouton en B7 avec le nom bidule ou autre?
sinon quel est l'erreur? le numero? parceque moi ça marche.
0
waea Messages postés 42 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 31 août 2015
8 févr. 2010 à 19:44
re bonjour,

bon alors ....
en ce qui concerne le code pour ré initialiser : en appliquant votre code j'ai erreur 1004 : impossible de renommer une feuille comme une autre !

la Feuil2 prend la place de la feuille accueil
la Feuil1 prend la place de la feuille type
et la feuille 3 qui a été renommée bidulle, reste bidulle
la Feuil4, reste 4
etc;;;;


et en ce qui concerne le code pour afficher la feuille il bloque aussi et voiçi ce que j'ai écrit C13 est la cellule qui peut changer de nom


Dim nomFeuille As String
Dim sh As Worksheet
nomFeuille = ActiveSheet.Range("C13") ' la cellule C13 contient ton nom de feuille
If nomFeuille = "" Then nomFeuille = "Feuil3" ' si il y a n'importe quoi dans la cellule...
For Each sh In Worksheets
If sh.CodeName = "Feuil3" Then
sh.Name = nomFeuille ça bloque là !
sh.Select
Exit For ' on a trouvé on quitte
End If
Next sh

End Sub

voilà !
merci de continuer à me coacher
waea
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
8 févr. 2010 à 19:42
excusez moi tous, mais si je peux me permettre, il me semble que la pertinence de ma demande ne doit pas rentrer en ligne de compte !
Au contraire, permet nous de juger (bien ou mal) la pertinence des demandes et de ne vouloir travailler dessus que si ça nous parait pertinent justement.
Tu n'es pas au boulot où tu peux sans doute de permettre des 'je ne vous demande pas de reflechir mais d'executer!'

et je constate que l'esprit ouvert des gens de l'informatique laisse un peu à désirer.
Parce que questionner pour valider ou non une solution (alors qu'il en existe sans aucun doute plusieurs) c'est se montrer fermé ??
Et bien moi je te trouve fat de penser avoir trouvé LA solution.
De plus ce n'est pas le premier post où tu te conduis ainsi...
Bonne continuation des tes problèmes
eric
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
9 févr. 2010 à 08:32
bonjour,
heu! j'ai fais une erreur... on ne peut pas renommer une feuille par son nom.
mon boulot c'est de prédire le comportement des gens, des objets, des animaux....
en te l'appliquant j'en es déduit que tu ne suivrait pas les instructions que l'on te transmettrait et que
tu développerais une forme de paranoïa protectioniste ( oui je sais ça passe mal mais c'est humain)
ça s'explique comme ça : je te dis pas tout parce que c'est moi qui décide mais c'est une mauvaise interpretation du pouvoir décisionnel . celui qui détient l'information ne prend pas forcément la décision....
Fin de leçon.

Tu as dis j'ai une cellule "B7" elle se transforme en C13 ( c'est ton droit je discute pas)
j'ai une feuille "bidule" (Utilisation d'un mot inutile pour cacher ou commettre une erreur)

j'ai dit :"place ce bouton sur la feuille qui contient le nom de la feuille (bidule) "
peut-être pas clair... tu places ton bouton sur la feuille que tu veux ( pas la peine de me donner le nom..
la methode ActiveSheet ( feuille Active, c'est celle que tu utilises) saisira les information en B7 ou C13 (comme tu veux) MAIS il faut écrire bidule en C13 ou B7 ce que tu n'a pas fait.

Explication: tu as clicker sur le bouton avec un vide en C13 et la ligne ..

If nomFeuille = "" Then nomFeuille = "Feuil3" ' si il y a n'importe quoi dans la cellule...
nomFeuille a pris la valeur "Feuil3". La boucle suivante a trouvé la Feuille3 et a voulu la renommée en Feuil3,
mais ce nom existe déjà.....



Dim nomFeuille As String
Dim sh As Worksheet
nomFeuille = ActiveSheet.Range("C13") ' la cellule C13 contient ton nom de feuille
If nomFeuille = "" Then exit sub ' si il y a un vide on quitte
For Each sh In Worksheets
If sh.CodeName = "Feuil3" Then
sh.Name = nomFeuille
sh.Select
Exit For ' on a trouvé on quitte
End If
Next sh

End Sub
0
waea Messages postés 42 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 31 août 2015
9 févr. 2010 à 10:35
OK,
en ce qui concerne le bouton, j'ai effectivement oublié de le mettre sur la feuille active.........tout simplement par ce que je suis resté sur mon idée que :

le bouton qui ouvre une feuille renommé se situe en fait sur la feuille accueil.
je n'ai pas bien décortiqué votre code et en est déduit que cela ne fonctionnait pas. Et c'est vrai............;pour cause !
si je fais ça, est-ce que ça peut marcher ?
nomFeuille = sheet("acceuil").Range("C13")

en fait tous les boutons dont il est question depuis le début, se trouvent sur la feuille accueil.

OUPS ! j'ai l'impression que tout cela vous énerve beaucoup !
si vous voulez arrêter dites le! je me ferais une raison
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
9 févr. 2010 à 10:41
nomFeuille = sheets("acceuil").Range("C13")

OUPS ! j'ai l'impression que tout cela vous énerve beaucoup !
si vous voulez arrêter dites le! je me ferais une raison

pas du tout!
j'ai toujours estimé que si la somme des efforts déployés pour se facher étaient consacrés
à améliorer les relations on aurait la paix dans lemonde. : )
0
waea Messages postés 42 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 31 août 2015
9 févr. 2010 à 10:56
Amen :)

j'avais déjà essayé cette solution,mais.......ça coince encore là !

sh.Name = nomFeuille

j'avoue que je cale là !
j'ai l'impression qu'on va pas y arriver
on est bien toujours sur le code qui ouvre la feuille renommée, n'est-ce pas ?
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
9 févr. 2010 à 11:22
je crois qu'on est au bout!


Sub test()
Dim nomFeuille As String
Dim sh As Worksheet
nomFeuille = Sheets("acceuil").Range("C13").Value ' le nom de la feuille est récupéré là

If nomFeuille = "" Then Exit Sub ' si il y a un vide on quitte
    For Each sh In Worksheets
        If sh.CodeName = "Feuil3" Then
            sh.Name = nomFeuille
            sh.Select
            Exit For ' on a trouvé on quitte
        End If
    Next sh

End Sub
0
re...........

désolé mais ça bloque toujours au même endroit
sh.Name = nomFeuille

et je ne peux rien faire pour vous aider, je coince aussi

merci encore
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
9 févr. 2010 à 15:15
moi je n'ai pas d'erreur.
As-tu rajouté .value derrière .Range("C13") ?
Ajoute un espion :
Click de droit sur nomFeuille choisi Ajouter un espion

puis utilise F8 pour executer le code en pas à pas
chaque sera marquée en jaune avant d'être executée
Regarde l'état de nomFeuille avant de rentrer dans la boucle, puis quand tu rentre dans la boucle.
n'oublie pas 90% des problèmes informatiques se situe entre la chaise et le clavier : )


Sub test()
Dim nomFeuille As String
Dim sh As Worksheet
nomFeuille = Sheets("acceuil").Range("C13").Value ' le nom de la feuille est récupéré là

If nomFeuille = "" Then Exit Sub ' si il y a un vide on quitte
For Each sh In Worksheets
If sh.CodeName = "Feuil3" Then
sh.Name = nomFeuille
sh.Select
Exit For ' on a trouvé on quitte
End If
Next sh

End Sub
0
Bon, j'ai beaucoup ri à la formule des 90%..................

là je commence à avoir une grosse envie d'envoyer tout balader

j'ai copié votre code et je l'ai associé au bouton = erreur encore
j'ai essayé votre solution de l'espion = je n'y arrive pas
voilà exactement le code que j'ai écrit :

Dim nomFeuille As String ' variable qui va contenir "le nom choisi" : le nouveau nom de la feuille
Dim sh As Worksheet '
nomFeuille = Sheets("accueil").Range("C13").Value ' la cellule C13 contient ton nom de feuille
If nomFeuille = "" Then Exit Sub ' si il y a n'importe quoi dans la cellule...
For Each sh In Worksheets
If sh.CodeName = "Feuil3" Then
sh.Name = nomFeuille
sh.Select
Exit For ' on a trouvé on quitte
End If
Next sh

End Sub


rien n'y fait !
je craque
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
9 févr. 2010 à 15:37
fais ceci s'il te plait

Alt F11 (VBE)


insertion /module
un module sera créé automatiquement
copie et colle le code du post 26
au besoin renomme le en test2

puis click droit sur nomFeuille choisis dans la liste Ajouter un espion... Click Ok

maintenant tu dois avoir une fenêtre en dessous le code supplémentaire où il y a nomFeuille avec une paire de lunettes et à côté <hors du contexte>
Appui sur F8 et dis moi l'état de la variable avant la boucle for et dans la boucle for
avec ça je te corrige ton problème d'interface.... sinon va boire un café ( le thé est accepté)
0
boisson trop légère............là il me faudrait plutôt un alcool plus fort !

j'ai tout fait et la touche F8 ne donne rien...............;;rien ne se passe et je ne peux donc pas vous donner d'éléments concrets.

sorry

on fait quoi alors maintenant ?
0
waea Messages postés 42 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 31 août 2015
10 févr. 2010 à 14:43
voiçi l'exemple "vide"
https://www.cjoint.com/?ckoPaeJqJO

j'espère que vous allez "faire des miracles".

PS : votre humour est rafraîchissant

bon courage
waea
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
10 févr. 2010 à 20:14
http://www.cijoint.fr/cjlink.php?file=cj201002/cijz9KXYVF.xlsm
probleme réglé
A+
0
Bonjour et encore une fois merci de l'aide apportée !
ce fut long et laborieux ..............tout ce passe effectivement entre la chaise et le clavier !

bonne continuation
A+ peut-être

waea

PS : j'espère que je n'aurais pas d'autres soucis avec ce classeur
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
11 févr. 2010 à 14:34
ben sinon... tu reviens... ^_^
0