Bonsoir membres du forum,
Comment programmer une UserForm de sorte quelle puisse créer une ou plusieurs nouvelles feuilles
pour y enregistrer des données selon la feuille active ?
Cordialement.
Version imprimable
Bonsoir membres du forum,
Comment programmer une UserForm de sorte quelle puisse créer une ou plusieurs nouvelles feuilles
pour y enregistrer des données selon la feuille active ?
Cordialement.
Bonjour,
Je ne suis pas certain de comprendre ce que vous voulez faire.
Pour créer une nouvelle feuille, il faut utiliser la méthode Add de la collection Worksheets (feuille de calcul) ou Sheets (feuille quelconque d'un classeur)
Exemple de l'insertion d'une nouvelle feuille juste après celle qui est active
Il suffit alors de placer cette ligne dans une procédure que l'on invoquera par exemple depuis une procédure événementielle d'un CommandButtonCode:Worksheets.Add After:=ActiveSheet
L'enregistreur de macros est le meilleur ami du programmeur.
Bonsoir Philippe Tulliez,
Le code que vous m'avez donné insère les feuilles mais pas en ordre.
1)- J'ai trouvé celui ci sur un forum dont j'ai mis en commentaire certaines lignes car il recopiait
les mêmes données sur les nouvelles feuilles.
Après quelques tests, il insère les feuilles nouvelle en ordre.
Votre impression s'il vous plait.
2) - Comme signalé dans le premier post; je souhaiterais programmer une UserForm qui sert toutes les feuillesCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Sub InsererNouvelleFeuilleExcel() ' ' Macro Insérer une nouvelle feuille Excel ' ' Range("B1:U30").Select ActiveWindow.ScrollColumn = 3 ActiveWindow.ScrollColumn = 2 ActiveWindow.ScrollColumn = 1 ActiveWindow.SmallScroll Down:=-24 'Selection.Copy Sheets.Add After:=Sheets(Sheets.Count) Range("B1").Select 'Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False 'ActiveSheet.Paste End Sub
(selon la feuille active).
Cordialement.
Bonjour,
Personnellement je n'utilise jamais l'objet Windows mais si le code que vous publiez vous convient et répond à votre attente, c'est parfait.
Bonsoir membres du forum,
Concernant les codes des commandes Suivant et Précédent ainsi que la listeBox où devraient être affiché les crées du classeur.
Pourriez vous me guider ?
Pièce jointe 622848
Cordialement.
Bonjour,
Le problème c'est que nous ne parlons pas le même langageCitation:
Le code que vous m'avez donné insère les feuilles mais pas en ordre.
Votre demande initiale
Selon la feuille active, cela signifie quoi ?Citation:
Comment programmer une UserForm de sorte quelle puisse créer une ou plusieurs nouvelles feuilles
pour y enregistrer des données selon la feuille active ?
Que ce soit une copie de la feuille, c'est à dire avec les données qui s'y trouvent, ou simplement insérer une nouvelle feuille depuis la feuille active.
Le code que j'ai proposé, insère une feuille après la feuille active or pour vous d'après ce que j'ai compris par la remarque que vous avez faites après ma réponse, c'est en fait créer une feuille après la dernière feuille. Ce qui n'a rien à voir avec la feuille active.
Faites l'opération manuellement. Insérez une feuille et vous verrez que la feuille active est celle qui vient d'être insérée et c'est exactement le code que je vous ai proposé.
Pour obtenir une réponse pertinente, il faut que la question soit précise et je ne comprends donc rien à votre dernière demande.
Oui c'est cela !Citation:
Simplement insérer une nouvelle feuille depuis la feuille active
Codes de circulation de feuille en feuille:
Code d'affichage de liste de feuille d'un classeur dans la ListeBox_Feuilles:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 Private Sub CmdButtonClose_Click() Unload Me End Sub 'Retour a la dernière feuille active Sub GoToLast() Sheets(Sheets.Count).Activate End Sub Private Sub CmdButtonDerniere_Click() GoToLast End Sub Private Sub CmdButtonNouvlleFeuille_Click() 'Worksheets.Add After:=ActiveSheet InsererNouvelleFeuilleExcel End Sub Private Sub CmdButtonPremiere_Click() GoToFirstSheet End Sub Private Sub ToggleButtonFeuillePrecedente_Click() Feuille_Precedente End Sub Private Sub ToggleButtonFeuilleSuivante_Click() Feuille_Suivante End Sub Sub Feuille_Suivante() On Error Resume Next ActiveSheet.Next.Select 'Feuille suivante End Sub Sub Feuille_Precedente() On Error Resume Next 'ActiveSheet.Previous.Select ' Feuille précédante GoToFirstSheet End Sub 'Passer a la Premiere Feuille Sub GoToFirstSheet() On Error Resume Next Sheets(1).Select End Sub
Cordialement.Code:
1
2
3
4
5
6
7 ' Rajoute les feuilles créées dans Excel a la liste du formulaire Private Sub UserForm_Initialize() Dim feuille As Worksheet For Each feuille In ActiveWorkbook.Worksheets Me.ListBoxFeuilles.AddItem feuille.Name Next End Sub
Ajouter les feuilles créées dans Excel a la listeBox du UserForm.
Pièce jointe 622905
Pièce jointe 622906Code:
1
2
3
4
5
6
7 ' Rajoute les feuilles créées dans Excel a la liste du formulaire Private Sub UserForm_Initialize() Dim feuille As Worksheet For Each feuille In ActiveWorkbook.Worksheets Me.ListBoxFeuilles.AddItem feuille.Name Next End Sub
Code de sélection ici https://www.developpez.net/forums/d3...excel-listbox/
Pièce jointe 622917
Pièce jointe 622916
Bonjour,
Quel est le sens de vos publications ?
Ce forum sert à poser des questions et pas de publier des choses que vous avez apprises en lisant d'autres interventions. Cela pollue inutilement le forum.
Je vous invite à lire Les règles du club
Si maintenant vous voulez apporter votre contribution en apportant un regard intéressant sur un sujet particulier, il existe un Forum Contribuez dédié à cela, et vous pouvez également publier des billets en ouvrant un blog su ce site
Bonjour Philippe Tulliez,
Il aurait fallut que vous m'excusassiez.
Désolé. Message compris.
Cordialement.
Bonsoir Phillipe TullIez,
Vos interventions M'éclairent de plus en plus.
Mon intention est de propager ce que vous m'apprenez.
C'était une façon pour moi de partager ce que vous m'apprenez.
Maintenant que vous m'avez orienté, je suis vos conseilles.
Question:Citation:
Je vous invite à lire Les règles du club
Si maintenant vous voulez apporter votre contribution en apportant un regard intéressant sur un sujet particulier, il existe un Forum Contribuez dédié à cela, et vous pouvez également publier des billets en ouvrant un blog su ce site
Le forum contribuez Concerne t'il aussi les autres Applications (Access,
WORD ...) ?
Cordialement.
Bonjour,
Chaque forum à des sous-rubriques et le forum "Contribuez" du forum Excel ne concerne que Excel. Access et Word ont également un forum "Contribuez"Citation:
Le forum contribuez Concerne t'il aussi les autres Applications (Access,WORD ...) ?
Merci infiniment Philippe Tulliez !
Je poursuit notre discussion en posant la question comment faire en sorte que les mêmes textbox d'un UserForm
puissent insérer des infos sur chaque feuille active d'un classeur ?
Cordialement.
Bonjour,
:fleche: Une question par fil de discussion conformément aux règles du Club (comme vous le savez). Le nouveau fil.
@Philippe : Merci pour l'aide apportée:ccool:.