Creer une feuille automatiquement en la nommant?

Signaler
Messages postés
7
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
18 septembre 2009
-
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
-
Salut,

j'ai effectué un morceaux de programme pour pouvoir créer une nouvelle feuille d'un classeur suite à un appui bouton en incrémentant à chaque fois le nom de la feuille.
Il me mets des erreurs, étant débutante, je n'arrive pas à les trouver.
voici le codage:
Public Sub CREER_Click()

Dim Cel As Range
Dim R As Range
Dim plage As Range
Dim feuille, ident As String
Dim numero As Integer
Dim numstring As String
Dim y As Byte


feuille = "SB"
If numero = 99 Then
numero = 1
ident = feuille & "01"
Else
If numero <= 99 Then
numero = numero + 1
numstring = CStr(numéro)
ident = feuille & numstring
End If
End If
'Copier les cellules et les coller sur l'onglet SB de la macro
y = numero + 26
Set R = Sheets(y).Range("$A$8")
Set plage = Application.Sheets(26).Range("=$A$64:$P$113")

For Each Cel In Application.Sheets(26).Range("=$A$64:$P$113")
Cel.EntireRow.Copy R
Set R = R.Offset(1)
Next
MsgBox "Création éxécuter avec succès"

End Sub

3 réponses

Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
10
Bonjour,

Quelles sont ces erreurs et où se produisent-elles ?
Soit plus précise si tu veux que l'on t'aide.


Calade
Messages postés
7
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
18 septembre 2009

Bonjour,

J'ai effectué quelque modification, j'arrive maintenant à créer l'onglet mais il n'est pas renommer. Le copier coller de mes cellules ne fonctionnement. Mes boucles ne fonctionnement pas correctement!

Les erreurs sont écrit en rouges

Public Sub CREER_Click()

Dim Cel As Range
Dim R As Range
Dim plage As Range
Dim feuille As String
Dim ident As String
Dim numero As Integer
Dim numstring As String
Dim y As Byte, i As Byte


feuille = "SB"
If numero = 99 Then
numero = 1
ident = feuille & "01"
Else
If numero <= 99 Then
numero = numero + 1
numstring = CStr(numero)
ident = "SB" & numstring
End If
End If

y = numero + 32

For i = 10 To Sheets.Count
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ident = ActiveSheet.Name
Next i

Set R = Sheets(y).Range("A8")

Set plage = Application.Sheets(26).Range("A64:A113")

For Each Cel In Application.Sheets(26).Range("A64:A113")
Cel.EntireRow.Copy R
Set R = R.Offset(6)
Next
MsgBox "Création éxécuter avec succès"

End Sub
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
10
Bonjour,

Tu ne m'a pas mis la nature de l'erreur comme demandé mais essaie en ajoutant

ActiveWorbook.sheets(worksheets.count).select

avant ident = ActiveSheet.Name
(l'onglet que tu viens de créer évidemment).

En fait le fait de créer un onglet ne le sélectionne pas automatiquement (du moins c'est ce que je crois).

Les autres erreurs doivent toutes découlées de là.

Calade