Bonjour au Forum
Comment faire colorier automatiquement la cellule de la colonne A si la feuille existe ?
Si j'ajoute des noms dans la colonne A, les feuilles existantes doivent rester en couleur et les nouvelles cellules de la colonne A ne le seront pas tant qu'il n'y aura pas de feuille a leur nom.
J'ai colorier ma solution plus bas mais j'ai pas de résultat
Merci a tout le monde
Sub AjouterFeuille()
On Error GoTo FinAjout
Dim c As Range, cel As Range
Dim plg As Range
Dim sh As Worksheet
Dim X As Range
On Error GoTo FinAjout
Application.ScreenUpdating = False
For Each c In Feuil1.Range("A5:A" & Sheets("Menu").Range("A65536").End(xlUp).Row)
If Not IsEmpty(c) Then
If Not ExisteFeuille(c.Text) Then
Set sh = Worksheets.Add(After:=Sheets(Worksheets.Count))
sh.Name = c
' c = cel.Interior.ColorIndex = 30 'colorie la cellule en "bleu clair" quand la feuille existe
End If
With Sheets("masque")
.Visible = xlSheetVisible
.Select
End With
Cells.Copy
Sheets(Worksheets.Count).Select
Range("A1").Select
ActiveSheet.Paste
Range("D6").Value = ActiveSheet.Name
Application.CutCopyMode = False
Set X = Sheets("Menu").Cells.Find(What:=ActiveSheet.Name)
If Not X Is Nothing Then
With ActiveSheet
.Range("D6").Value = X
.Range("C16").Value = X.Offset(0, 2).Value
.Range("E3").Value = X.Offset(0, 3).Value
.Range("A9").Value = X.Offset(0, 1).Value
.Range("C24").Value = X.Offset(0, 10).Value
End With
Range("A1").Select
'caché la feuille masque apres création des feuilles
'Sheets("masque").Visible = xlSheetHidden
End If
End If
Next c
FinAjout:
Application.ScreenUpdating = True
End Sub
Function ExisteFeuille(NomFeuille As String) As Boolean
Dim sh As Worksheet
Application.Volatile
On Error Resume Next
Set sh = ThisWorkbook.Sheets(NomFeuille)
ExisteFeuille = Err.Number = 0
End Function
Comment faire colorier automatiquement la cellule de la colonne A si la feuille existe ?
Si j'ajoute des noms dans la colonne A, les feuilles existantes doivent rester en couleur et les nouvelles cellules de la colonne A ne le seront pas tant qu'il n'y aura pas de feuille a leur nom.
J'ai colorier ma solution plus bas mais j'ai pas de résultat
Merci a tout le monde
Sub AjouterFeuille()
On Error GoTo FinAjout
Dim c As Range, cel As Range
Dim plg As Range
Dim sh As Worksheet
Dim X As Range
On Error GoTo FinAjout
Application.ScreenUpdating = False
For Each c In Feuil1.Range("A5:A" & Sheets("Menu").Range("A65536").End(xlUp).Row)
If Not IsEmpty(c) Then
If Not ExisteFeuille(c.Text) Then
Set sh = Worksheets.Add(After:=Sheets(Worksheets.Count))
sh.Name = c
' c = cel.Interior.ColorIndex = 30 'colorie la cellule en "bleu clair" quand la feuille existe
End If
With Sheets("masque")
.Visible = xlSheetVisible
.Select
End With
Cells.Copy
Sheets(Worksheets.Count).Select
Range("A1").Select
ActiveSheet.Paste
Range("D6").Value = ActiveSheet.Name
Application.CutCopyMode = False
Set X = Sheets("Menu").Cells.Find(What:=ActiveSheet.Name)
If Not X Is Nothing Then
With ActiveSheet
.Range("D6").Value = X
.Range("C16").Value = X.Offset(0, 2).Value
.Range("E3").Value = X.Offset(0, 3).Value
.Range("A9").Value = X.Offset(0, 1).Value
.Range("C24").Value = X.Offset(0, 10).Value
End With
Range("A1").Select
'caché la feuille masque apres création des feuilles
'Sheets("masque").Visible = xlSheetHidden
End If
End If
Next c
FinAjout:
Application.ScreenUpdating = True
End Sub
Function ExisteFeuille(NomFeuille As String) As Boolean
Dim sh As Worksheet
Application.Volatile
On Error Resume Next
Set sh = ThisWorkbook.Sheets(NomFeuille)
ExisteFeuille = Err.Number = 0
End Function