[déplacé VB.NET -> VBA] création d'un nouvel onglet

Signaler
Messages postés
7
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
18 septembre 2009
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
Bonjour,

J'aimerai un nouvel onglet après un appui bouton, puis incrémenter à chaque fois le nom de l'onglet?

Je suis débutante, je sais quel fonction utiliser mais c'est pour ouvrir l'onglet.

Pouvez vous me mettre sur la piste!

Merci par avance

3 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
salut,

en vb6 => .tabs = .tabs+1
çà doit donc ressemble à .tabs+=1 en vb.net ;)

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

Salut,

Merci pour ton aide!

Comme je l'ai écrit précédemment, je suis une débutante. J'ai écrit un programme mais il me mets des erreurs de compilation sur l'instruction numstring = numero.tostring
Je t'explique un peu ce que j'ai voulu faire. Après l'utilisation d'un bouton, je dois pour ouvrir un nouvel onglet. Dans cet onglet je dois recopier les cellules $A$64:$P$113.
Mais à chaque fois que j'appui sur le bouton, je dois créer un autre onglet avec le même texte et incrémenter de un.
Peux tu me dire ce qui va pas dans ce programme

Je te remercie d'avance!
Public Sub CREER_Click()

Dim Cel As Range
Dim R As Range
Dim plage As Range
Dim feuille As String
Dim numero As Integer
Dim numstring As String

If numero = 99 Then
Module1.Initilisation
Else
If numero <= 99 Then
numero = numero + 1
numstring = numero.tostring
newsheets.Text = feuille & numstring
End If
End If

Worksheet.Open Worksheet.Tabs
Name.Worksheet.Tabs = newsheets
Worksheet.Tabs = Tabs + 1

'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

Public Sub Initilisation()

numero = 1
newsheets = feuille & "01"

End Sub
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
tu es en VBA, pas en VB.NET
je déplace ton topic

de ce fait :
numero.tostring n'existe pas
numstring = cstr(numero)



[i]If numero = 99 Then
Module1.Initilisation
Else
If numero <= 99 Then
numero = numero + 1
numstring = numero.tostring
newsheets.Text = feuille & numstring
End If
End If/i

si num = 99
init
sinon
si num <=99 <-comment il pourrait être égal?
newsheets.Text = feuille & numstring <- feuille est une variable string qui est vide


Worksheet.Open Worksheet.Tabs <- tu ouvres un ... quoi?

forcément toute ta question change, VBA tu ne parlais pas d'un onglet (SSTAB) mais d'un classeur

je laisse là main aux membres plus spécialisés VBA ;)

ps : NUMERO est déclarée en privé dans ta sub CREER_Click
elle restera donc toujours à 0 !!!
il faut la déclarer en public dans ton module

Code : Comment conserver le contenu d'une variable entre différents formulaires

++