1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| Sub Formeautomatique7_QuandClic()
'bouton Enregistrer dans "Nouvelle tolerie"
Dim i As Boolean
i = False
While i = False
If Left(ActiveSheet.Name, 12) = "Données tol " Then
NomNouvelleTolerie = Mid(ActiveSheet.Name, 13)
a = MsgBox("Le nom que vous avez attribué à cette nouvelle tôlerie dans la base de données PERMA est """ & NomNouvelleTolerie & """." & Chr(13) & "Voulez-vous modifier ce nom ?", vbQuestion + vbYesNo)
If a = vbYes Then
NomNouvelleTolerie = InputBox("Entrez le nom nom sous lequel vous souhaitez que cette nouvelle tôlerie apparaisse dans le programme PERMA" & Chr(13) & Chr(13) & "19 caractères maximum" & Chr(13) & "Les caractères suivant ne sont pas autorisés : /\:*?][", "Microsoft Excel")
If NomNouvelleTolerie = "" Then
Exit Sub
End If
'test si le nom de tolerie n'existe pas deja ET si le nom rentré par l'utilisateur n'est pas trop grand
For Each feuille In Worksheets
While "Données tol " & NomNouvelleTolerie = feuille.Name Or Len(NomNouvelleTolerie) > 19
NomNouvelleTolerie = ""
While NomNouvelleTolerie = ""
NomNouvelleTolerie = InputBox("Ce nom de tôlerie est déjà utilisé dans la base de données PERMA ou comporte plus de 19 caractères, veuillez s'il vous plaît entrer un autre nom ?" & Chr(13) & Chr(13) & "19 caractères maximum" & Chr(13) & "Les caractères suivant ne sont pas autorisés : /\:*?][", "Erreur nom machine")
Wend
Wend
Next feuille
End If
Else 'si nom de l'onglet ne coommence pas par "Données tol "
NomNouvelleTolerie = ""
While NomNouvelleTolerie = ""
NomNouvelleTolerie = InputBox("Une erreur est survenue lors de l'attribution d'un nom à cette nouvelle tôlerie. Veuillez entrer de nouveau le nom sous lequel vous souhaitez que cette nouvelle tôlerie apparaisse dans le programme PERMA" & Chr(13) & Chr(13) & "19 caractères maximum" & Chr(13) & "Les caractères suivant ne sont pas autorisés : /\:*?][", "Erreur d'attribution de nom")
Wend
'test si le nom de tolerie n'existe pas deja
For Each feuille In Worksheets
While "Données tol " & NomNouvelleTolerie = feuille.Name Or Len(NomNouvelleTolerie) > 19
NomNouvelleTolerie = ""
While NomNouvelleTolerie = ""
NomNouvelleTolerie = InputBox("Ce nom de tôlerie est déjà utilisé dans la base de données PERMA ou comporte plus de 19 caractères, veuillez s'il vous plaît entrer un autre nom ?" & Chr(13) & Chr(13) & "19 caractères maximum" & Chr(13) & "Les caractères suivant ne sont pas autorisés : /\:*?][", "Erreur nom machine")
Wend
Wend
Next feuille
End If
Application.ScreenUpdating = False 'Mise à jour d'écran désactivée
Application.Interactive = False 'Bloque les interactions souris-clavier
'enregistrement avec uniquement la feuille Accueil de visible pour etre bon lors de la reouverture de PERMA
ActiveSheet.Name = "Données tol " & NomNouvelleTolerie
Worksheets("Accueil").Visible = xlSheetVisible
Worksheets("Données tol " & NomNouvelleTolerie).Visible = xlSheetHidden
Worksheets("Performances").Unprotect
Worksheets("Performances").Range("A1") = "Enregistrer"
ThisWorkbook.Save
Worksheets("Performances").Protect
Worksheets("Données tol " & NomNouvelleTolerie).Visible = xlSheetVisible
Worksheets("Accueil").Visible = xlSheetHidden
'stockage du nom de la tolerie en "B50" pour test de retour a l'accueil
Worksheets("Données tol " & NomNouvelleTolerie).Unprotect
Worksheets("Données tol " & NomNouvelleTolerie).Range("B50").Value = NomNouvelleTolerie
'marker : stockage de "Enregistré" en "B51" pour test de retour à l'accueil
Worksheets("Données tol " & NomNouvelleTolerie).Range("B51").Value = "Enregistré"
Worksheets("Données tol " & NomNouvelleTolerie).Protect
i = True
Wend
ThisWorkbook.Saved = True
Application.ScreenUpdating = True 'Mise à jour d'écran activée
Application.Interactive = True 'Débloque les interactions souris-clavier
End Sub |
Partager