Bonjour
je suis encore débutant en VBA
j'ai pu créer une macro qui suivant une liste me duplique un classeur et inscrit le nom de la colonne en titre de la nouvelle feuille.
Pour aller plus loin j'aimerai que dans cette nouvelle page 3 informations de la ligne concernée par la page (la ligne active) soit reporté dans les casse de la nouvelle feuille. est ce possible?
je vous mets le code et le ficher intituler test.xlsm. Voila dans la nouvelle feuille je veux qu'il reporte automatiquement les données suivant:
l'ID dans la case A1 le Noms dans la case B2 et le Prénom dans la case E2 la Date de Naissance dans la case C2 la ville dans la Case C3 et le groupe dans la casse D13
merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Option Explicit Dim maColonne As Integer Sub AjoutFeuilles() Dim derLi As Long Dim i As Integer Dim maFeuille As Worksheet Set maFeuille = ActiveSheet maColonne = 1 ' a ajuster derLi = Columns(maColonne).Find("*", , , , , xlPrevious).Row For i = 2 To derLi ' 2 si ligne de titre 'Si la feuille existe déjà, on passe à la ligne suivante If FeuilleExiste(maFeuille.Cells(i, maColonne)) Then GoTo Suivant ' ajout d'une feuille à la fin Sheets("FichePersonel").Copy after:=Sheets(Sheets.Count) Sheets(Worksheets.Count).Name = maFeuille.Cells(i, maColonne) ' nom de la feuille = valeur de la cellule Suivant: Next 'on retourne à la feuille d'origine maFeuille.Select Set maFeuille = Nothing End Sub Function FeuilleExiste(Nom$) As Boolean 'Ti On Error Resume Next FeuilleExiste = Sheets(Nom).Name <> "" End Function Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = maColonne Then AjoutFeuilles End Sub
Partager