IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Creer des feuilles avec une liste de nom


Sujet :

Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Creer des feuilles avec une liste de nom
    Bonjour
    J’ai plusieurs problèmes à résoudre
    1) A partir d’une liste de nom dans une feuille, je souhaite créer une feuille par nom. Un test devra être fait pour savoir si la feuille est déjà créée.
    2) Une fois les feuilles créées je dois recopier la totalité des lignes de chaque nom de ma feuille source sur chaque onglet nom.
    3) Ce fichier sera en partage sur un serveur. Je souhaite que le fichier ne soit accessible que par une personne à la fois. Chaque utilisateur peut avoir accès au serveur mais avec des directory différentes.
    D’avance merci de votre contribution.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour créer une feuille, tu peux par exemple créer une fonction booléenne qui renvoie TRUE si la création a eu lieu et FALSE si la feuille existait déjà.
    Petit exemple : La liste des noms de feuille à créer se trouve en cellules A2:A5 de la feuille Feuil1
    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
    Sub t()
     Dim rng As Range, cel As Range
     Set rng = ThisWorkbook.Worksheets("Feuil1").Range("A2:A5")
     For Each cel In rng
      If Not (WorkSheetCreate(cel.Value)) Then MsgBox "La feuille " & cel.Value & " existe déjà"
     Next
    End Sub
    Function WorkSheetCreate(Name As String) As Boolean
     Application.ScreenUpdating = False
     Worksheets.Add before:=Worksheets(1)
     On Error Resume Next
     Worksheets(1).Name = Name
     If Err Then
      With Application
      .DisplayAlerts = False:  Worksheets(1).Delete:  .DisplayAlerts = True
       WorkSheetCreate = False
      End With
     Else
       WorkSheetCreate = True
     End If
     On Error GoTo 0
     Application.ScreenUpdating = False
    End Function

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour et merci pour ta réponse. Quelques ajustements. J'ai volontairement supprimé la MSGBox qui ne m'est pas utile.
    Par contre ma plage de cellule est variable d'une semaine à l'autre. je souhaite donc integrer un Do While Not Is Empty

    Sub a()
    Dim i As Integer
    Range("b2").Select
    Do While Not (IsEmpty(ActiveCell))
    Set rng = ThisWorkbook.Worksheets("Feuil1").Range("b2:b18")
    For Each cel In rng
    If Not (WorkSheetCreate(cel.Value)) Then i = i + 1

    Next
    Loop

    End Sub

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par ericmise Voir le message
    Bonjour et merci pour ta réponse. Quelques ajustements. J'ai volontairement supprimé la MSGBox qui ne m'est pas utile.
    Par contre ma plage de cellule est variable d'une semaine à l'autre. je souhaite donc integrer un Do While Not Is Empty
    Je me doute bien que le msgbox ne t' est pas utile, c'était simplement pour illustrer le retour de la valeur de la fonction WorkSheetCreate.
    Cette fonction, tu l'utilises comme tu l'entends. Tu peux aussi la transformer en procédure SUB

Discussions similaires

  1. Colorier des routes avec une liste excel
    Par Bobvache dans le forum IGN API Géoportail
    Réponses: 3
    Dernier message: 12/02/2012, 22h43
  2. Réponses: 0
    Dernier message: 11/11/2011, 20h19
  3. [XL-2007] Incrementer des feuilles avec le nom des lignes d'une colonne + copie valeurs
    Par re dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/10/2010, 15h15
  4. Problème avec une liste de noms
    Par Etienne2323 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/01/2009, 23h14

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