Macro pour créer un nouvel onglet qui porte le nom de la cellule active

Bonjour le Forum !

J’essaie de faire une manip qui doit être simple, mais je ne vois pas comment :

j’aimerais créer un bouton dans une feuille qui permette, en cliquant dessus, de créer juste après l’onglet actif un nouvel onglet qui :

1/ porte le nom de la cellule active

2/ soit la copie d’un onglet modèle situé à la fin du classeur

Quelqu’un saurait comment faire ?

Merci !!!

Bonsoir,

pour répondre à votre question simplement, je vous suggère de regarder mon application PROSPER, qui, en fait, fait ce que vous demandez : création d'un onglet qui n'est autre que la copie d'une version "vierge" et pour répondre à votre deuxième question le code crée dans l'onglet RECAP un lien vers cette nouvelle fiche...

Avant la création de la fiche il y a un test pour éviter l'erreur de redondance...

@ bientôt

LouReeD

Bonsoir LouReed

Merci pour votre réponse. Et désolé d'avoir tardé à y répondre, pb de disponibilité puis de versions d'Excel incompatibles.

Bref, je me suis plongé dans le code de "prosper" et j'ai failli m'y noyer car je suis débutant, mais j'ai fini par trouver le début de mon bonheur... Je vais être BEAUCOUP moins ambitieux, mais il faut un début à tout.

Je suis maintenant capable de créer une copie d'un onglet en 2ème position dans le classeur.

En revanche, impossible d'attribuer un nom à ce nouvel onglet, qui reprenne le contenu de la cellule A1...

Je ne sais pas où ça cloche, mais ça cloche.

Quelqu'un pourrait-il m'aider ?

Merci ?

55essai.zip (7.37 Ko)

Bonsoir,

une feuille créée est automatiquement sélectionnée donc si vous écrivez "Range("A1") alors c'est la cellule A1 de la feuille active donc la feuille sélectionnée !

Il faut donc spécifier de quelle feuille vous parlez ! Donc :

Sub Créer_feuille()
Sheets("MODELE").Copy after:=Sheets(1)
ActiveSheet.Name = Sheets("Recap").Range("A1")
End Sub

@ bientôt

LouReeD

Je comprends. Merci !!!

Je progresse (très lentement) mais je bute sur un truc.

Je sais maintenant créer via une macro une nouvelle feuille qui porte le nom de la cellule A5 de la feuille en cours, puis créer en B5 un lien hypertexte qui pointe vers cette nouvelle feuille.

Mais ce que je cherche à faire, c'est à généraliser le fonctionnement de ma macro, autrement dit qu'elle fonctionne à partir de la valeur de la cellule active et pas seulement de A5, et que le lien hypertexte soit créé dans la cellule à droite de la cellule active, et pas seulement en B5.

J'ai testé pas mal de choses, en cherchant un peu partout sur le web, mais je ne comprends pas bien ce que je fais, ni ce qui est possible ou permis par le VBA.

Bref, j'ai besoin d'un petit coup de main ! (cf commentaires directement dans le code)

Merci.

Bonjour,

le fichier modifié avec les commentaires dans le code :

L'idée : simplement mettre en mémoire la cellule de "départ" et après utiliser cette mémoire comme référence = il n'y a plus d'Activate ou de Select, le code est plus rapide.

ATTENTION ! Avec ce système il faut "créer" un garde fou sur les cellules sélectionnées lors du clic sur le bouton, car le code fonctionne avec n'importe quelle cellule sélectionnée à l'heure actuelle !

@ bientôt

LouReeD

Merci LouReeD, c'est super !!!

(et en plus je crois que j'ai tout compris, ce qui m'aide à progresser en VBA = coup double).

Rechercher des sujets similaires à "macro creer nouvel onglet qui porte nom active"