Eviter les doublons dans la création de feuilles

Bonjour le forum,

J'utilise un fichier créé par Hervé le 31/01/2011, qui consiste à créer des feuilles de classeur au moyen d'un double clic,

Je souhaiterais qu'un msg s'affiche si le nom de la feuille créée existe déjà;

J'ai trouvé une macro qui émet ce genre de msg mais les feuilles sont créées avec un TexteBox et un commandButton que mon fichier ne reconnait pas.

Quel code dois-je écrire pour voir apparaître ce msg si un nouveau nom existe déjà.

Voici la macro avec un TextBox

'Création d'un objet Feuille

Private Sub CommandButton1_Click()

Dim Faute As Long

If Me.TextBox1 = "" Then Exit Sub

On Error Resume Next

Sheets(Me.TextBox1.Text).Visible = True

Faute = Err.Number

On Error GoTo 0

If Faute > 0 Then

Sheets.Add after:=Sheets(Sheets.Count)

ActiveSheet.Name = Me.TextBox1

Else

MsgBox "Feuille existante"

End If

End Sub

Merci de bien vouloir m'aider encore une fois.

Amicalement, Papy Pierrot

Bonjour,

Tu peux mettre le code que tu utilise pour ajouter tes feuilles stp.

.

Cher Mobil,

merci de m'aider, je vais faire un copier coller de cette macro

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim Sh As Worksheet

If Target.Column = 2 And Target.Row > 1 And Target.Offset(0, -1) <> "" Then

Set Sh = ActiveSheet

Cancel = True

Application.ScreenUpdating = False

On Error Resume Next

Sheets(Target.Offset(0, -1).Value).Select

If Err.Number > 0 Then

Sheets("Master").Copy after:=Sheets(Sheets.Count)

ActiveSheet.Name = Target.Offset(0, -1)

End If

On Error GoTo 0

With ActiveSheet

.Range("A2") = Cells(Target.Row, "B") ' Dossier

' .Range("A12") = Cells(Target.Row, "C") & " " & Cells(Target.Row, "D") & " " & Cells(Target.Row, "E") 'Adresse

.Range("A5") = Cells(Target.Row, "C") ' date création

.Range("B5") = Cells(Target.Row, "F") ' Taille

.Range("C2") = Cells(Target.Row, "A") ' Auteur

.Range("C5") = Cells(Target.Row, "I") ' Prénom

'' Cells(Target.Row, "J").Copy .Range("D7") ' Email

.Range("C7") = Cells(Target.Row, "D") ' répertoire

End With

Sh.Select

End If

End Sub

Amicalement, Papy Pierrot

Merci.

Bonjour,

sans tester :

If Err.Number > 0 Then

Sheets("Master").Copy after:=Sheets(Sheets.Count)

ActiveSheet.Name = Target.Offset(0, -1)

else

msgbox "Feuille existante"

End If

eric

Cher Éric,

Un tout grand merci de Belgique, cela fonctionne à merveille, après plusieurs essais, ça marche toujours.

Mais! Est-il possible de redimensionner la taille du message Box qui dit "feuille existante."

Merci de tout cœur et très amical bonjour de Perwez en Belgique

Papy Pierrot

Re,

Est-il possible de redimensionner la taille du message Box qui dit "feuille existante."

msgbox est prédéfini et onne peut pas le changer.

Ca nécessiterait de construire une boite de dialogue juste pour ça. Je ne sais pas si ça vaut le coup. En général au bout de 3 fois on ne lit même plus le texte, on valide directement...

eric

Eric,

j'ai trouvé dans le VBA, le format utilisateur, qui me permet de modifier la police du MsgBox, Ce qui me satisfait pleinement.

Un grand merci à toi pour ta gentillesse.Amicalement, Papy Pierrot

Re,

ça serait intéressant que tu mettes ici ce que tu as trouvé.

eric

Voila Éric,

le fichier complet allégé à 80%

Bonne soirée.

Papy Pierrot

Ah oui, tu as fait une boite de dialogue.

Je croyais que tu avais trouvé un truc pour modifier une msgbox

A+

eric

Rechercher des sujets similaires à "eviter doublons creation feuilles"