[UserForm]
Bonjour a tous les forumeurs!
Je sollicite encore une fois un peu de votre précieuse aide xD
Voila mes quelque questions:
1- J'ai une macro qui duplique une feuille modèle. Cette feuille dupliquer se nomme Fiche d'information (2), puis (3) etc ... Je voudrais que c'est feuille soit renommer par un nombre de 00001 a 99999.
Sub RenommerUnOnglet()
Sheets("Fiche d'information (2)").Select
Sheets("Fiche d'information (2)").Name = "Que mettre ici ?"
End Sub
2-J'ai une listbox, dans propriété;rowsource j'y ai placé un nom que j'ai définit (TousLesHabilités). Ce nom corespond a la formule =Règles!$A$3:$A$496 mais ...
Entre A3 et A496, c'est une zone ou l'information peux changer et ou il y a des cellule vide donc:
2.1-Comment faire en sorte que ma liste n'affiche pas les espaces blanc?
2.2-Ma liste se mettera t-elle a jour automatiquement si des donnés sont changer dans les cellule A3:A496?
Voila, j'aurai probablement plein d'autre question pour vous, mais se sera tout pour l'instant!
Merci d'avance a tous ceux qui pourront m'aider!
Peri
Salut le forum
Perigord pour la question #1
Sub RenommerUnOnglet()
Sheets("Fiche d'information").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Format(Sheets.Count - 2, "00000")
End SubLe -2 est à adapter.
Mytå
Merci Myta
Je suis tout nouveau dans se domaine:
-2 est a adapter en fonction de quoi ?
Peri
Edit: C'est bon, j'ai compris en testant ^^
Edit2: Deuxième quesiton Réglé!
Merci a tous!
Re bonjour a tous les forumeurs!
Mon problème a évoluer, je croyais qu'avec la réponse de Myta, j'arrivais a trouver la solution, mais rien a faire!
Je m'en remet donc encore une fois a vous!
J'ai trois onglet (feuille) principale: Fiche d'information, Fiche Personnage, Règles.
J'ai un userform avec des textbox et deux boutons créé:
Bouton1:
Private Sub CreaBoutCreer_Click()
Sheets("Fiche Personnage").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Format(Sheets.Count - 3, "00000")
'CreaNom CreaPrenom CreaPersonnage CreaEmail CreaTelephone
'Range("A1") = TextBox1
Range("D3") = CreaNom
Range("D4") = CreaPrenom
Range("M3") = CreaPersonnage
Range("D7") = CreaEmail
Range("E5") = CreaTelephone
Unload Me
USF_Ouverture.ShowBouton2:
Private Sub InfoBoutCreer_Click()
Sheets("Fiche d'information").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Format(Sheets.Count + 69000, "00000")
'CreaNom CreaPrenom CreaPersonnage CreaEmail CreaTelephone
'Range("A1") = TextBox1
Range("D5") = InfoNom
Range("D6") = InfoPrenom
Range("L7") = InfoCode
Range("D9") = InfoEmail
Range("D7") = InfoTelephone
Unload Me
USF_Ouverture.Show
End SubSe que je veux arriver a faire:
Renommer les feuilles ''Fiche Personnage'' nouvellement créé avec un nombre de 00001 a 99999. La formule plus haut marche tant que je ne crée pas de ''Fiche d'information''.
Renommer les feuilles ''Fiche d'information'' nouvellement créé avec un ''i+nombre'' de i00001 a i99999
Et pour finir, reclassé le tout (Laissé les trois feuille Fiche d'information, Fiche Personnage et Règles aux début puis classé les fiche personnage puis les fiche d'information.
Merci a celui/celle/ceux qui prendront du temps pour me répondre.
Amicalement
Peri
Re le forum
Perigord pour créer tes feuilles (Adapte les noms)
Sub InfoBoutCreer_Click()
Dim No_Index As Long
Dim Feuille As Worksheet
For Each Feuille In Sheets
If Feuille.Name Like "i#####" Then No_Index = No_Index + 1
Next Feuille
Sheets("Fiche2").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "i" & Format(No_Index + 1, "00000")
End Sub
Sub CreaBoutCreer_Click()
Dim No_Index As Long
Dim Feuille As Worksheet
For Each Feuille In Sheets
If Feuille.Name Like "#####" Then No_Index = No_Index + 1
Next Feuille
Sheets("Fiche1").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Format(No_Index + 1, "00000")
End SubPour le classement par ordre tu veux 00001, 00002 ensuite i00001, i00002
ou 00001, i00001 ensuite 00002, i00002
A te relire
Mytå
Re Myta.
Merci!!! Tu es génial!
Pour ta question:
00001, 00002 ensuite i00001, i00002 sans oublier que les trois premier onglet ne doivent pas bouger
Merci encore!
Peri
Re le forum
Perigord, pour le tri (Nom des feuilles à adapter)
Sub TriNomsOnglets()
Dim I As Long, J As Long
For I = 1 To Sheets.Count
For J = I To Sheets.Count
If UCase(Sheets(J).Name) < UCase(Sheets(I).Name) Then
Sheets(J).Move Sheets(I)
End If
Next J
Next I
Sheets("Fiche1").Move Before:=Sheets(1)
Sheets("Fiche2").Move Before:=Sheets(2)
Sheets("Règle").Move Before:=Sheets(3)
End SubMytå
Job Done!
Vous êtes les meilleurs ! Lachez pas ...je sais pas se que je ferais sans vous !
Merci!
Salut Myta, Bonjour le forum!
J'ai un problême qui est apparue avec le renommage des feuilles créés.
Le problême est apparut suite a quelque modification (J'ai masquer les feuilles en gros):
Private Sub CommandButton2_Click()
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
Application.ScreenUpdating = False
For i = 1 To Worksheets.Count
Worksheets("Fiche Personnage").Visible = True
If Worksheets(i).Name <> "Fiche Personnage" Then
Worksheets(i).Visible = False
End If
Next
End SubPrivate Sub CommandButton2_Click()
Dim i As Integer, verif As Boolean
Application.ScreenUpdating = False
For i = 1 To Worksheets.Count
Worksheets(i).Visible = True
If Worksheets(i).Name = TextBox2.Text Then
nom = TextBox2.Text
verif = True
GoTo suivant
Else
verif = False
If Worksheets(i).Name <> "Fiche Personnage" Then Worksheets(i).Visible = False
End If
Next
suivant:
If verif = True Then
Worksheets(nom).Select
Application.ScreenUpdating = True
Unload Me
USF_Ouverture.Show
Else
MsgBox "Aucune fiche ne correspond à la recherche"
End IfPrivate Sub CommandButton1_Click()
Dim i As Integer, verif As Boolean
Application.ScreenUpdating = False
For i = 1 To Worksheets.Count
Worksheets(i).Visible = True
If Worksheets(i).Name = TextBox1.Text Then
nom = TextBox1.Text
verif = True
GoTo suivant
Else
verif = False
If Worksheets(i).Name <> "Fiche Personnage" Then Worksheets(i).Visible = False
End If
Next
suivant:
If verif = True Then
Worksheets(nom).Select
Application.ScreenUpdating = True
Unload Me
USF_Ouverture.Show
Else
MsgBox "Aucune fiche ne correspond à la recherche"
End If
End SubRe le forum
Perigord, qu'elle est l'erreur retourner...
Déjà ton premier code ne peut fonctionner
Private Sub CommandButton2_Click()
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As IntegerUne Sub évenementielle dans une autre Sub
A te relire
Mytå
Bonjour,
Cela ne génère pas d'erreur ... style fin ou déboguage, seulement, la nouvelle fiche créé s'appelle maintenant Fiche Personnage(2) au lieu de 00001:99999.
Le problème viens surement du fait quel es onglet sont masquer ... mais je n'arrive pas a résoudre le problème ... qui d'ailleurs, depuis que j'ai poster le précédant message m'en cause d'autre ...
Je laisse tomber pour l'instant se problème, remet tout mes onglet visible ... Je ré-évaluerai a la fin si cela en vaut la peine.
Sinon, dernier truc avant de re clôturer se topic:
Le bouton créé crée la feuille, la renomme puis reclasse les onglets. Comment faire pour qu'il re sélectionne la page nouvellement créé a la fin du processus ?
Désolé du désagrément.
Merci de tout cœur
Peri
re le forum
A la fin de ton tri, sans ton code complet essaye
Sheets(Format(No_Index + 1, "00000")).Selectou
Sheets("i" & Format(No_Index + 1, "00000")).SelectMytå
Job Done!
Merci 1000X Myta!
Peri