Dernière Ligne +1,Nouvelle feuil cells+1

Bonjour le Forum,

Ci-dessous mon code, j'ai deux feuille pilote la 15 et la 17.

Sur ma Feuil1 je passe par un UserForm "Nouveau BL Client". De celui-ci, si je sélectionne "optionbutton1" ça m'effectue une copie de la 15 sur une nouvelle feuille ou si je sélectionne "optionbutton2" ça me fait une copie de la 17 dans une nouvelle feuille. Jusque là NICKEL !!!

Mon problème j'ai ma Feuil1 avec mes numéros n°1, n°2, n°3 etc

Et là je souhaite à la création de ma nouvelle feuille que sur ma feuil1 à la suite de mes numéros que ça me mette "n°4" par exemple.. Et que Sur ma nouvelle Feuille créé en K3 me mettre ce nouveau N°4..

Private Sub CommandButton1_Click()
Dim ligne As Long
'Nouveau BL F
    If OptionButton1.Value = True Then
    Sheets(Feuil15.name).Visible = True
    Sheets(Feuil15.name).Select
    Cells.Select
    Selection.Copy
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Paste
[color=#FF0000]    Range("K3").Value = Sheets(Feuil1.name).Cells(ligne, 2).Value + 1
    Sheets(Feuil1.name).Select
    ligne = Range("B65536").End(xlUp).Row
    Cells(ligne, 2).Value = Cells(ligne - 1, 2).Value + 1[/color]

    Sheets(Feuil15.name).Visible = False
    End If
'Nouveau BL M
        If OptionButton2.Value = True Then
    Sheets(Feuil17.name).Visible = True
    Sheets(Feuil17.name).Select
    Cells.Select
    Selection.Copy
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Paste
    Range("O2").Select
    Sheets(Feuil17.name).Visible = False
    End If
    Unload Me
End Sub

Bonjour, pour écrir sur la dernière ligne d'une feuille :

'A mettre après avoir créer la nouvelle feuille

Dim DernLigne as String , LaFeuille as WorkSheet , Numero as String

DernLigne = Feuil1.Range("A" & Rows.Count).End(XlUp).Row + 1
LaFeuille = ActiveSheet.Name
Numero = "n°" & DernLigne

Feuil1.Range("A" & DernLigne) = Numero
ThisWorkBook.WorkSheets(LaFeuille).Range("K3") = Numero

Code pas testé

EDIT Code modifié

Bonjour,

j'ai réussi pour une feuille en faisant cela :

DernLigne = Feuil1.Range("B" & Rows.Count).End(xlUp).Row + 1
Feuil1.Range("B" & DernLigne) = "N°" & DernLigne
'Nouveau BL F
    If OptionButton1.Value = True Then
    Sheets(Feuil15.name).Visible = True
    Sheets(Feuil15.name).Select
    Cells.Select
    Selection.Copy
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Paste
    Range("K3").Value = Feuil1.Range("B" & Rows.Count).End(xlUp).Row
    Sheets(Feuil15.name).Visible = False
    End If

Edit: Je n'avais pas vue que tu avais modifié ta réponse, je vais essayer de suite ce code !

Et ça fonctionne ?

(Dsl je peux pas tester de code sur Excel car j'ai un programme qui tourne et il prend du temps ^^)

Non j'ai un problème avec :

LaFeuille = ActiveSheet.Name

il me met LaFeuille en surbrillance..

Par contre en adaptant ce que tu ma donné avec ce que j'avais :

Private Sub CommandButton1_Click()
DernLigne = Feuil1.Range("B" & Rows.Count).End(xlUp).Row + 1
Feuil1.Range("B" & DernLigne) = "N°" & DernLigne
'Nouveau BL F
    If OptionButton1.Value = True Then
    Sheets(Feuil15.name).Visible = True
    Sheets(Feuil15.name).Select
    Cells.Select
    Selection.Copy
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Paste
    Range("K3").Value = Feuil1.Range("B" & Rows.Count).End(xlUp).Row
    Sheets(Feuil15.name).Visible = False
    End If
'Nouveau BL M
        If OptionButton2.Value = True Then
    Sheets(Feuil17.name).Visible = True
    Sheets(Feuil17.name).Select
    Cells.Select
    Selection.Copy
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Paste
    Range("K3").Value = Feuil1.Range("B" & Rows.Count).End(xlUp).Row
    Sheets(Feuil17.name).Visible = False
    End If
    Unload Me
End Sub

Ça fonctionne parfaitement.

J'imagine que le code peut certainement être réduit mais le principal c'est qu'il fonctionne

Merci !

Rajoute un

Set

devant LaFeuille = ActiveSheet.Name

Toujours pas testé mais essaye comme ça :

Private Sub CommandButton1_Click()
Dim DernLigne As String, LeNumero As String

DernLigne = Feuil1.Range("B" & Rows.Count).End(xlUp).Row + 1
LeNumero = "N°" & DernLigne

Feuil1.Range("B" & DernLigne) = LeNumero

'Nouveau BL F
If OptionButton1.Value = True Then
    With Feuil15
        .Visible = xlSheetVisible
        .Copy After:=ActiveSheet
        .Visible = xlSheetHidden
    End With
    ActiveSheet.Range("K3") = LeNumero
End If

'Nouveau BL M
If OptionButton2.Value = True Then
    With Feuil17
        .Visible = xlSheetVisible
        .Copy After:=ActiveSheet
        .Visible = xlSheetHidden
    End With
    ActiveSheet.Range("K3") = LeNumero
End If

Unload Me

End Sub

C'est TOP !! Ca fonctionne très bien !

Rajoute sur la feuille 1 un menu déroulant (un controle ActiveX : Zone de liste déroulante)

Le code ci-dessous est à mettre dans un module standard

Private Sub CommandButton1_Click()
Dim DernLigne As String, LeNumero As String

DernLigne = Feuil1.Range("B" & Rows.Count).End(xlUp).Row + 1
LeNumero = "N°" & DernLigne

Feuil1.Range("B" & DernLigne) = LeNumero

'Nouveau BL F
If OptionButton1.Value = True Then
    With Feuil15
        .Visible = xlSheetVisible
        .Copy After:=ActiveSheet
        .Visible = xlSheetHidden
    End With
    ActiveSheet.Name = LeNumero
    ActiveSheet.Range("K3") = LeNumero
End If

'Nouveau BL M
If OptionButton2.Value = True Then
    With Feuil17
        .Visible = xlSheetVisible
        .Copy After:=ActiveSheet
        .Visible = xlSheetHidden
    End With
    ActiveSheet.Name = LeNumero
    ActiveSheet.Range("K3") = LeNumero
End If

ListeFeuilles
Unload Me

End Sub

Private Sub ListeFeuilles()
Feuil1.ComboBox1.Clear
For i = 1 To ThisWorkbook.Worksheets.Count
    Feuil1.ComboBox1.AddItem ThisWorkbook.Worksheets(i).Name
Next i
End Sub

Pour finir met ce code dans le module de la feuille 1

Private Sub ComboBox1_Change()
Dim NomFeuille As String

On Error GoTo ErrSelect

NomFeuille = Feuil1.ComboBox1
ThisWorkbook.Worksheets(NomFeuille).Select

ErrSelect:
End Sub

J'ai essayé mais sans réussite je ne comprend pas désolé ..

Ah d'accord, c'est pas mal mais ça fait des clics en plus..

Il n'est pas possible de cliquer directement sur la cellule..?

Si je te fais ça

Voilà, regarde le code je l'ai documenté

Waow ...

C'est Excellent, même mieux que ce que je ne pensais

Il y a une sécurité pour la sélection multiple, franchement super !

Merci Beaucoup !

Ya pas de quoi, c'est toujours un plaisir de pouvoir rendre service

Cependant il faut faire attention. Si jamais un jour tu décide de changer le format il faut faire bien attention à ce que le nom de la feuille soit exactement le même que celui ajouté sur la feuille 1 (je m'explique : n°1 <> N°1, donc excel ne trouvera pas la feuille. De plus si jamais ce n'est qu'un numéro, assure toi que le numéro sera bien stockée sous forme de nombre dans la cellule, sinon pareille excel ne trouvera pas ta feuille)

Enfin bref si tu laisse comme ça ya pas de raison que ça plante

J'avais déjà remarqué pour n° ou N° je me suis fait avoir mais j'ai vite compris ^^

Mais désormais oui si je n'y touche pas il me met en automatique N° donc il n'y a pas de raison.

Ceci-dit merci pour ses renseignements !

Ya pas de quoi, bonne continuation et n'hésite pas si jamais tu as encore besoin d'aide

Rechercher des sujets similaires à "derniere ligne nouvelle feuil"