Ajout auto de feuille avec changement du nom de la feuille

Bonsoir le forum

J'ai un usf qui me permet d'ajouter un nouvel utilisateur.

Lorsqu'un nouvel utilisateur est crée, 2 copies de feuilles doivent être automatiquement générées.

Il s'agit de la feuille "INFO" et la feuille "ADMIN". Chaque feuille dupliquée doit aussitôt être renommée de cette façon:

  • le duplicata de la feuille "INFO" reprendre le nom de la valeur de la textbox1
  • le duplicata de la feuille "ADMIN" doit être renommé de la sorte "TBC3&textbox1.value
Le code ci-dessous fonctionne bien dans le fichier test mais dans le fichier réel il ne fonctionne pas bien.

Je n'arrive pas à bien comprendre mais je sais que le code doit comporter des erreurs que je n'arrive pas à détecter.

Je vous le soumet pour amendement avec le fichier test qui ne signale pas d'anomalies svp!

Private Sub CommandButton1_Click()

'cette macro sert à alimenter la feuille centralisation
'Sub Report_mensuel()
    Dim O As Worksheet 'déclare la variable O (Onglet)
    Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
    Dim DEST1 As Range
    Dim DEST2 As Range
    Dim DEST3 As Range
    Dim DEST4 As Range
    Dim DEST5 As Range
    Dim DEST6 As Range
    Dim DEST7 As Range
    Set O = Worksheets("ADMIN") 'définit l'onglet O
    Set f = ActiveSheet

   ' O.Unprotect "dac2017"
    'définit la cellule de destination DEST (B3 si B3 est vide, sinon, la première cellule vide de la colonne B)
    Set DEST = IIf(O.Range("BM3").Value = "", O.Range("BM3"), O.Cells(Application.Rows.Count, 65).End(xlUp).Offset(1, 0))
    Set DEST1 = IIf(O.Range("BN3").Value = "", O.Range("BN3"), O.Cells(Application.Rows.Count, 66).End(xlUp).Offset(1, 0))
    Set DEST2 = IIf(O.Range("BO3").Value = "", O.Range("BO3"), O.Cells(Application.Rows.Count, 67).End(xlUp).Offset(1, 0))
    Set DEST3 = IIf(O.Range("BP3").Value = "", O.Range("BP3"), O.Cells(Application.Rows.Count, 68).End(xlUp).Offset(1, 0))
    Set DEST4 = IIf(O.Range("BQ3").Value = "", O.Range("BQ3"), O.Cells(Application.Rows.Count, 69).End(xlUp).Offset(1, 0))
    Set DEST5 = IIf(O.Range("BR3").Value = "", O.Range("BR3"), O.Cells(Application.Rows.Count, 70).End(xlUp).Offset(1, 0))
    Set DEST6 = IIf(O.Range("BS3").Value = "", O.Range("BS3"), O.Cells(Application.Rows.Count, 71).End(xlUp).Offset(1, 0))
    Set DEST7 = IIf(O.Range("BT3").Value = "", O.Range("BT3"), O.Cells(Application.Rows.Count, 72).End(xlUp).Offset(1, 0))
    DEST = Me.TextBox1 '= DEST 'copie la plage nommée "reel" dans DEST
    'DEST1 = Me.TextBox2
    'DEST2 = Me.ComboBox1
    'DEST3 = Me.ComboBox3
    'DEST4 = Me.ComboBox2
    'DEST5 = Me.TextBox3
    'DEST6 = Me.TextBox4
    'DEST7 = Me.TextBox5

    Sheets("INFO").Copy after:=Sheets("INFO")
    On Error GoTo nomExistant
    ActiveSheet.Name = DEST
    On Error GoTo 0
    f.Activate
    '-----
    Sheets("ADMIN").Copy after:=Sheets("ADMIN")
    On Error GoTo nomExistant
    ActiveSheet.Name = "TBC" & DEST
    f.Activate
    Unload Me
Exit Sub

nomExistant:
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    MsgBox "Ce nom existe déjà. Choisissez-en un autre.", 16
    Exit Sub
    Resume Next

End Sub

Bonjour

pas bien compris pour INFO

1/ Nouvel onglet

INFO :

INFO +contenu de la textbox1 de ton USF

ce qui donne par exemple : INFOdupont

2/Nouvel onglet

ADMIN :

TBC3+contenu de la textbox1 de ton USF

ce qui donne par exemple : TBC3dupont

si c'est cela voir à modifier dans le bouton de commande 1 de ton USF

à modifier

    Sheets("INFO").Copy after:=Sheets("INFO")
    On Error GoTo nomExistant
    ActiveSheet.Name = "INFO" & DEST
    On Error GoTo 0
    f.Activate
    '-----
    Sheets("ADMIN").Copy after:=Sheets("ADMIN")
    On Error GoTo nomExistant
    ActiveSheet.Name = "TBC3" & DEST
    f.Activate
    Unload Me

crdlt,

André

Bonjour André et le forum

Merci pour votre réponse.

Je pense avoir bien posé mon problème.

Votre compréhension s'écarte de mes attentes.

Si vous pouvez bien relire vous me comprendrai mieux.

Je reste preneur d'autres solutions.

Bonjour

Même hélas ! après relecture je ne comprend pas, désolé

bye

Bonsoir André

Vous dite

si c'est cela voir à modifier dans le bouton de commande 1 de ton USF

à modifier

quelle partie du code faut-modifié partant de votre compréhension?

Rechercher des sujets similaires à "ajout auto feuille changement nom"