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

Macros et VBA Excel Discussion :

création de plusieurs feuilles et remplissage automatique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Par défaut création de plusieurs feuilles et remplissage automatique
    Bonjour
    Je suis débutant en VBA, j'ai besoin dans mon boulot de créer une petite application sur excel qui va m'aider beaucoup, qui me permet d'à partir d'une liste de faire N copies d’une feuils (N est le nombre de ligne de cette liste) et remplir dans chaque feuille des cases avec des données récupérées de la ligne correspondante.
    Je ne suis si j’étais un peu claire.
    Je vous remercie très bien pour votre aide.

  2. #2
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Slt,
    une petite recherche sur le net et sur le site dans les tutos et la faq donne ce code:
    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
    'Insère des feuilles et les nomme suivant une liste
    
    'Créez une liste de noms et sélectionnez la avant de lancer la macro
    Sub AjoutFeuilListe() 
    Dim Mycell As Range, Mysheet As Worksheet, MyName$
    
    For Each Mycell In Selection 'liste de noms
    MyName = Mycell.Value
       If MyName <> "" Then
        On Error Resume Next
        Set Mysheet = Sheets(MyName)
        On Error GoTo 0
    
        If Mysheet Is Nothing Then Sheets.Add.Name = MyName
        End If
    Next Mycell
    End Sub
    Met ce code dans un module et fait ce qui est écrit en rouge et voila.
    Pour ce qui est de copier les données il faudrait nous en dire plus:
    ou elle se trouve etc....
    A+

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Par défaut
    la feuil où je dois récupérer les données se trouve dans le même classeur.

  4. #4
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Re,
    j'avais compris,
    non ce que je te demande c'est:
    • comment s'appelle cette feuille,
      dans quelle colonne se trouve ta liste,
      tu dois copier la ligne entière ou une partie de la ligne,
      Tu veux copier des chiffres, du texte, des dates etc...

    autant d'info qu'on ne peux pas deviner tout seul .

    Merci d'en dire plus stp.
    A+

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Par défaut
    la première feuil (de base) s'appel "données", la feuil à copier s'appel "Draps", ce que je veux faire c'est que:
    - le contenu la Case T1 soit copier dans la case E24 de la feuil "Draps", la case T2 (de la ligne dessous) soit cpoié dans la meme case (E24) mais dans une deuxieme feuil (copie de "Draps") jusqu'a à ce que avoir tout les cases de la colone T de "donnée" soit copier dans les copies de "Draps" dans la meme case (E24).

    puis je passe à la deuxieme colone de mon tableau, mais cette fois tou les cases de la colone X de la feuil "Données" soit copier dans la case J7 des feuils "Draps".

    je ne sais pas si j'ai pu expliquer un peu ma problématique
    merci encore une fois

  6. #6
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Re,
    merci pour tes précisions.
    Un peu d'indulgence je ne suis pas un pro mais, voici un code qui insert une feuille DRAPS1, DRAPS2 etc.... et copie tes données.
    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
    Sub ESSAI()
    Dim i As Long
    Dim plage As Range, Nvfeuil As Worksheet, c As Object
     
    Set plage = Sheets("Données").Range("T1:T" & Range("T65536").End(xlUp).Row)
    Set Nvfeuil = Sheets("Draps")
    i = 1
     
    For Each c In plage
    'insert une copie de la feuille draps avant draps
    'si tu veux copier la feuille apres remplace Before par After
    Nvfeuil.Copy Before:=Sheets("draps")
    ActiveSheet.Name = "Draps" & i
    [E24] = c.Value
    [J7] = c.Offset(0, 4).Value
    i = i + 1
    Next c
    End Sub
    Attention si les feuilles sont déjà créer ce code ne marche pas.
    Il y a certainement beaucoup mieux que ce code mais il fonctionne
    A+

    EDIT: Je change Le code je pense qu'il correspondras mieux à ce que tu veux faire. ATTENTION toutefois il faut d'abord sélectionner ta feuille données avant de le lancer. Pour faciliter les choses tu peux le mettre sur un bouton de formulaire voir le forum ou la FAQ pour plus d'info à ce sujet.

Discussions similaires

  1. Création de plusieurs feuilles à partir d'une plage
    Par sylvestre09 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 22/03/2012, 15h04
  2. [XL-2003] insertion ligne automatique sur plusieurs feuille
    Par rdams dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/04/2010, 15h42
  3. Réponses: 4
    Dernier message: 03/09/2009, 16h09
  4. Réponses: 7
    Dernier message: 08/05/2009, 13h56

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