condition macro ne pas creer deux fois la même feuille

28gaëlle

XLDnaute Junior
Re-bonjour,

J'ai déjà posé la question mais je n'y arrive pas du tout. J'ai donc changé de stratégie pour arriver à mes fins.
J'aimerais ne pas creer deux fois la même feuille si elle existe déjà et éventuellement un message qui s'affiche. "Regarde tu as déjà les infos que tu veux!!!"
Ma feuille nouvellement creer à un nom simple. Elle s'intitule de la même manière que la cellule H24 de ma feuill1 dont je ne me sers pas dans cette macro mais qui est le point de départ de ma liste qui régente tout le reste. Donc cette fameuse cellule de ma feuill 1 H24 est identique à ma cellule B6 de ma feuille travail_fiche_identité et est aussi le nom de la feuille créee.

J'espère vous avoir donné assez d'information pour que vous puissiez m'aider.
Merci d'avance si vous comprenez mon souci

Gaëlle

Sheets("travail_fiche_identité").Visible = True
Sheets("BD").Visible = True
Sheets("travail_fiche_identité").Select
Sheets("travail_fiche_identité").Copy Before:=Sheets(4)
Sheets("travail_fiche_identité (2)").Select
Sheets("travail_fiche_identité (2)").Name = "Fiche_identité"
Sheets("Fiche_identité").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Range("B6").Value
Sheets("travail_fiche_identité").Visible = False
Sheets("BD").Visible = False
Application.DisplayAlerts = False
Sheets("Fiche_identité").Delete
Application.DisplayAlerts = False
Application.DisplayAlerts = True



End Sub
 

kjin

XLDnaute Barbatruc
Re : condition macro ne pas creer deux fois la même feuille

Bonsoir,
Pas sûr d'avoir bien compris
Code:
Sub CopieFeuille()
Dim NomFeuil As String, Ws As Worksheet
NomFeuil = Sheets("travail_fiche_identité").Range("B6")
For Each Ws In ActiveWorkbook.Sheets
    If Ws.Name = NomFeuil Then
    MsgBox "Regarde tu as déjà les infos que tu veux!!!"
    Exit Sub
    End If
Next
'Sheets("travail_fiche_identité").Visible = True '?
'Sheets("BD").Visible = True '?
Sheets("travail_fiche_identité").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = NomFeuil
'Sheets("travail_fiche_identité").Visible = False '?
'Sheets("BD").Visible = False '?
End Sub
A+
kjin
 

28gaëlle

XLDnaute Junior
Re : condition macro ne pas creer deux fois la même feuille

Sub creation_fiche_identite()

Dim z As String

z = Sheets("travail_fiche_identité").Range("B6").Value



If WsExist(z) Then

Worksheets(z).Activate

Else

Sheets("travail_fiche_identité").Visible = True

Sheets("BD").Visible = True

Sheets("travail_fiche_identité").Select

Sheets("travail_fiche_identité").Copy Before:=Sheets(4)

Sheets("travail_fiche_identité (2)").Select

Sheets("travail_fiche_identité (2)").Name = "Fiche_identité"

Sheets("Fiche_identité").Copy after:=Sheets(Sheets.Count)

ActiveSheet.Name = Range("B6").Value

Sheets("travail_fiche_identité").Visible = False

Sheets("BD").Visible = False

Application.DisplayAlerts = False

Sheets("Fiche_identité").Delete

Application.DisplayAlerts = False

Application.DisplayAlerts = True

End If



End Sub



Function WsExist(nom$) As Boolean

On Error Resume Next

WsExist = Sheets(nom).Index

End Function


Encore merci. Voila ce que j'ai fait. Cela permet que ça ne peut pas si on souhaite recreer la même feuille.
 

Discussions similaires

Statistiques des forums

Discussions
312 438
Messages
2 088 410
Membres
103 845
dernier inscrit
anasabir2024