mettre en place un message d'erreur dans le cas d'une création de feuille.

cortadillo

XLDnaute Nouveau
Bonjour,

je sollicite, de nouveau votre aide; j'ai crée un tableau Excel me permettant de suivre le RAF (reste à faire) des fiches Mantis de chaque acteur (MOA/Groupement/MOE).

Ma macro ''Génerer le reste à faire" est executé chaque jour de la semaine de façon à mettre en évidence le RAF de chaque acteur

Ex: Bilan MOE du 02-03-2012, RAF Grpt du 02-03-2012, RAF MOE du 02-03-2012, RAF MOA du 02-03-2012.

Problème : si la macro est executé une seconde fois dans la journée il y'a une erreur Excel passe en mode débogage pour m'indiquer le nom de la feuille existe déjà.

J'aimerais remplacer ce debogage par un message d'erreur compréhensible du style "la feuille existe déjà."

j'ai tenté de joindre mon tableau excel mais il dépasse la taille limite, alors je me permets d'ajouter le code ci-dessous:


Pour info, je ne suis nul en programmation, inutile de vous moquer de moi:p!!!


Sub MacroFeuille()
Dim i As Integer

'
' MacroFeuille Macro

'
' Touche de raccourci du clavier: Ctrl+r
'


'Figer l'écran
Application.ScreenUpdating = False
'Afficher la feuille masquée
Sheets("Données Maitre MOE").Visible = True
Sheets("Bilan Maitre MOE").Visible = True

Sheets(1).Select
Cells.Select ' Sélection totale de la feuille
Selection.Copy ' Copie
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

ThisWorkbook.Save

'Ajout de la feuille Bilan MOE

Sheets("Bilan Maitre MOE").Select
ActiveSheet.Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").RefreshTable ' MAJ du tableau croisé dynamique
Cells.Select ' Sélection totale de la feuille
Selection.Copy ' Copie
Range("A1").Select ' Positionnement du curseur en A1
Sheets.Add Worksheets(2) ' Ajout d'une nouvelle feuille
ActiveSheet.Paste ' Colle le contenu de la feuille précédemment copiée
ActiveSheet.Name = "Bilan MOE du " & Format(Date, "dd-mm-yyyy") ' Attribution du nom à la nouvelle feuille
Columns("E:E").ColumnWidth = 7
Columns("G:Q").EntireColumn.AutoFit




' Ajout des feuilles Excel Grpt

' For i = 1 To Worksheets.Count
' If Worksheets(i).Name = "RAF Grpt du " & Format(Date, "dd-mm-yyyy") Then
' MsgBox "Vous avez déjà génerer le RAF Groupement"

' Else
'End If
'Next i



'Ajout de la feuille Données maitres MOE

' trie des données
Sheets("Données Maitre MOE").Select
Range("A1").Select
Selection.Sort Key1:=Range("R2"), Order1:=xlAscending, Key2:=Range("AV2") _
, Order2:=xlDescending, Key3:=Range("AS2"), Order3:=xlDescending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A2").Select

Cells.Select ' Sélection totale de la feuille
Selection.Copy ' Copie
Range("A1").Select ' Positionnement du curseur en A1

Sheets.Add Worksheets(3) ' Ajout d'une nouvelle feuille
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

ActiveSheet.Select
ActiveSheet.Name = "RAF Grpt du " & Format(Date, "dd-mm-yyyy") ' Attribution du nom à la nouvelle feuille
With Selection.Font
.Name = "calibri"
.Size = 8
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.AutoFilter



' Filtre de sélection groupement
Selection.AutoFilter Field:=46, Criteria1:="<>Rejeté", Operator:=xlAnd
Selection.AutoFilter Field:=45, Criteria1:="Groupement"

Columns("A:BD").EntireColumn.AutoFit
Range("A:A,I:O,Q:Q,S:AK,AN:AO,AM:AM,AQ:AQ,AS:AS,AU:AX,BA:BD").Select
Selection.EntireColumn.Hidden = True

'Largeur des champs
Columns("G:G").ColumnWidth = 11.86
Columns("R:R").ColumnWidth = 9.57
Columns("AL:AL").ColumnWidth = 12.29
Columns("AN:AO").ColumnWidth = 0
Columns("AM:AM").ColumnWidth = 10.71
Columns("G:G").ColumnWidth = 10.57
Columns("F:F").ColumnWidth = 7.57
Columns("B:B").ColumnWidth = 4.71
Columns("AU:AX").ColumnWidth = 0
Columns("AT:AT").ColumnWidth = 9.86
Columns("AY:AY").ColumnWidth = 21.29
Columns("AY:AY").ColumnWidth = 18.29
Columns("H:H").ColumnWidth = 37


Sheets("Données Maitre MOE").Select
ActiveSheet.Select
Cells.Select ' Sélection totale de la feuille
Selection.Copy ' Copie
Range("A1").Select ' Positionnement du curseur en A1
Sheets.Add Worksheets(4) ' Ajout d'une nouvelle feuille
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False


' Ajout de la feuille RAF MOA


ActiveSheet.Name = "RAF MOA du " & Format(Date, "dd-mm-yyyy") ' Attribution du nom à la nouvelle feuille
With Selection.Font
.Name = "calibri"
.Size = 8
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.AutoFilter

' Filtre de sélection MOA

Selection.AutoFilter Field:=46, Criteria1:="<>Rejeté", Operator:=xlAnd, _
Criteria2:="=Attente MOA"
Selection.AutoFilter Field:=45, Criteria1:="moa1"


Columns("A:BD").EntireColumn.AutoFit
Range("A:A,I:O,Q:Q,S:AK,AN:AO,AM:AM,AQ:AQ,AS:AS,AU:AX,BA:BD").Select
Selection.EntireColumn.Hidden = True


'Largeur des champs
Columns("G:G").ColumnWidth = 11.86
Columns("R:R").ColumnWidth = 9.57
Columns("AL:AL").ColumnWidth = 12.29
Columns("AN:AO").ColumnWidth = 0
Columns("AM:AM").ColumnWidth = 10.71
Columns("G:G").ColumnWidth = 10.57
Columns("F:F").ColumnWidth = 7.57
Columns("B:B").ColumnWidth = 4.71
Columns("AU:AX").ColumnWidth = 0
Columns("AT:AT").ColumnWidth = 9.86
Columns("AY:AY").ColumnWidth = 21.29
Columns("AY:AY").ColumnWidth = 18.29
Columns("H:H").ColumnWidth = 37

Sheets("Données Maitre MOE").Select
ActiveSheet.Select
Cells.Select ' Sélection totale de la feuille
Selection.Copy ' Copie
Range("A1").Select ' Positionnement du curseur en A1
Sheets.Add Worksheets(4) ' Ajout d'une nouvelle feuille
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False


' Ajout des feuilles Excel MOE


ActiveSheet.Name = "RAF MOE du " & Format(Date, "dd-mm-yyyy") ' Attribution du nom à la nouvelle feuille
With Selection.Font
.Name = "calibri"
.Size = 8
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.AutoFilter

' Filtre de sélection groupement
Selection.AutoFilter Field:=46, Criteria1:="<>Rejeté", Operator:=xlAnd
Selection.AutoFilter Field:=45, Criteria1:="moesirh1"

Columns("A:BD").EntireColumn.AutoFit
Range("A:A,I:O,Q:Q,S:AK,AN:AO,AM:AM,AQ:AQ,AS:AS,AU:AX,BA:BD").Select
Selection.EntireColumn.Hidden = True

'Largeur des champs
Columns("G:G").ColumnWidth = 11.86
Columns("R:R").ColumnWidth = 9.57
Columns("AL:AL").ColumnWidth = 12.29
Columns("AN:AO").ColumnWidth = 0
Columns("AM:AM").ColumnWidth = 10.71
Columns("G:G").ColumnWidth = 10.57
Columns("F:F").ColumnWidth = 7.57
Columns("B:B").ColumnWidth = 4.71
Columns("AU:AX").ColumnWidth = 0
Columns("AT:AT").ColumnWidth = 9.86
Columns("AY:AY").ColumnWidth = 21.29
Columns("AY:AY").ColumnWidth = 18.29
Columns("H:H").ColumnWidth = 37



'Masquer la feuille
Sheets("Bilan Maitre MOE").Visible = False
Sheets("Données Maitre MOE").Visible = False
Sheets("Fusion fiches Mantis").Visible = False
Sheets("Table des paramètres").Visible = False

'Réactiver l'affichage écran
Application.ScreenUpdating = True

ThisWorkbook.Save

Sheets("Commandes").Select


End Sub
 

ERIC S

XLDnaute Barbatruc
Re : mettre en place un message d'erreur dans le cas d'une création de feuille.

Bonjour

J'ai bossé et en plus j'arrive du jardin et je n'ai pas trop le courage de regarder tout le code mais je te proposerais en fait que dans ta macro, après avoir créé la feuille, d'aller écrire la date du jour dans une cellule que tu as choisie. du coup, en début de macro, tu regardes la date dans la cellule et si c'est la date du jour, tu sors.
 

Discussions similaires

Réponses
3
Affichages
550

Statistiques des forums

Discussions
311 721
Messages
2 081 928
Membres
101 842
dernier inscrit
seb0390