[Excel 2007]creation d'un nouvel onglet par macro
bonjour à tous ..
je sollicite une nouvelle fois votre aide pour un nouveau problème :
imaginez un userform ,dans lequel se trouvent une textbox et un commandbutton .
En cliquant sur le bouton , cela crée un nouvel onglet ayant pour nom la valeur de la textbox préalablement remplie par l'utilisateur.
il faut une macro qui :
1°)verifie qu'aucun onglet déjà existant ait pour nom la valeur de la textbox
2°)si un tel onglet existe , affiche un msgbox et ne créer aucun onglet
3°)si un tel onglet n'existe pas , le crée après le dernier onglet existant
je suis bloqué aux parties en gras ,pour le reste c'est bon.....
pour info : - le nombre d'onglets n'est pas fixe ,il varie tout le temps
- la valeur de la textbox peut aussi bien être du texte que des nombres ou même le mélange des 2.
des idées?
merci a toi pour ta réponse ,j'ai testé ton fichier et ça marche .
en fait , j'avais simplifié au maximum mon explication pour ne pas être trop dur a comprendre ,et je comptais simplement adapter ta réponse à mon projet .
pour ce qui est de la création "apres le dernier onglet" ,j'ai visualisé ton code. j'avais déjà tester en utilisant sheets.count mais ça ne marchait pas :S .
je revérifierait que je n'ai pas fait de faute de frappe ,mais pas avant mardi parce que mon projet est au boulot .je te tiens au courant et si ca ne marche toujours pas ,j'expliquerais précisément en quoi consiste mon projet pour adapter ta solution si besoin.
pour le reste ,je pense que ca devrait marcher ,à tester mardi pour ça aussi.
par contre ,mon but est avant tout de progresser en excel ,afin d'éviter de solliciter votre aide tout les 4 matins pour des futilités (je veux pas être un boulet !!!) ,mais pour ca ,il faut que je comprenne comment ca marche ,et non juste recopier bêtement le code que vous me donnez.
je suis conscient que j'en demande peu-être trop , et si vous considérez que j'abuse alors faites comme si j'avais rien dit (après tout ,vous résolvez mon problème ,c'est déjà pas mal !) ,mais en fait j'ai rien compris au reste du code qui correspond a la vérification que l'onglet n'existe pas déjà (je suis un bon gros débutant d'excel ) ,donc si une ame charitable voulais bien prendre 5 minutes pour m'expliquer tout ca ,je serais le plus heureux des hommes !! (enfin ,presque
je vous met le code ici ,avec les ligne que je comprend pas en gras :
Option Explicit
End Sub
en tout cas, merci à tous
Bonjour
Option Explicit
Indique que toutes les variables utilisées dans le programme devront être déclarées
Private Sub CommandButton1_Click()
Evénement qui se produit lors de l'appui (clic) sur le bouton
Dim Faute As Long
Déclaration de la variable et "typage"
On Error Resume Next
On s'affranchit de toute les erreurs dans le code
Sheets(Me.TextBox1.Text).Visible = True
Effectue une action avec la feuille dont le nom est dans le TextBox
Dans ce cas : Mettre sa propriété Visible à True
Résultat:
Si la feuille existe l'objet Err dans sa propriété Number indique 0
Si la feuille n'existe pas l'objet Err dans sa propriété Number indique un nombre différent de 0
Cette valeur je la récupère dans la variable Faute
Faute = Err.Number
Ensuite je remets en service la surveillance des erreurs par VBA
On Error GoTo 0
En fonction si j'ai une erreur (feuille inexistante) je crée la feuille, sinon (pas d'erreur --> Feuille présente) je le signale
Pour comprendre tu as l'aide F1 : tu te places sur un mot VBA (exemple Err) ensuite F1
Il y aussi ici
https://www.excel-pratique.com/fr/index.php
Bonne journée
merci a toi pour le temps que tu me consacres , c'est tres aimable de ta part
je ne regrette vraiment pas de mettre inscris sur ce forum
a bientot ^^