1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Employé
    Inscrit en
    novembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Employé
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : novembre 2017
    Messages : 2
    Points : 1
    Points
    1

    Par défaut Création de feuille automatique VBA Macro

    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


    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
    merci pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Membre habitué
    Inscrit en
    juin 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 91
    Points : 136
    Points
    136

    Par défaut

    Tu peux juste après avoir renommé ta feuille faire ceci pour chacune des données que tu veux écrire

    la feuille que tu viens de renommer étant la feuille active.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       ActiveSheet.Range("A1").Value = Sheets("Contact").Cells(i, 1)
       ActiveSheet.Range("A2").Value = Sheets("Contact").Cells(i, 2)
    et ainsi de suite pour chaque donnée.



    B2 est fusionnée avec A2 , je pense que tu souhaite mettre le nom en A2

    bonne journée.

    PS : si la liste est longue il peut être intéressant d'ajouter:

    en début de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating = False
    ceci fige l'affichage pendant l'exécution de la macro

    ne pas oublier de défiger l'affichage avant de sortir de la macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating = true
    Ceci peut accélérer le code de manière très importante.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Employé
    Inscrit en
    novembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Employé
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : novembre 2017
    Messages : 2
    Points : 1
    Points
    1

    Par défaut Merci

    MERCI vraiment c'est au top j'avais essayé avec range. mais j'avais pas réussi ça m'aide bien
    J'arrivais pas à trouver le nom de la nouvelle fiche créée
    ça marche très bien

Discussions similaires

  1. Réponses: 11
    Dernier message: 29/06/2016, 16h31
  2. Création de Feuille Automatique
    Par XBlade dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/08/2011, 14h58
  3. VBA sous excel - Macro - Création de feuilles à partir d'une liste
    Par Sylione dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/05/2007, 10h42
  4. [VBA-E] Création de feuille automatique
    Par matt8-5 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/01/2007, 12h59
  5. [VBA Excel] macro création de feuille
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 29/06/2006, 12h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo