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 :

Remplir 2 feuilles simultanément à l'aide d'un UserForm


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Remplir 2 feuilles simultanément à l'aide d'un UserForm
    Bonjour le forum,

    Le code ci-dessous me permet de remplir un tableau Excel à l'aide d'un UserForm.
    Le nom de la feuille activée dépend du choix fait en amont, c'est à dire une feuille "S1 à S52".
    Une autre feuille s'appelant "Récap" doit contenir toutes les informations enregistrées dans chacune des 52 feuilles (S1 à S52). Je souhaiterai donc qu'à chaque fois qu'une feuille S1 à S52 est activée, les données qui y sont enregistrées après saisies avec le formulaire entrent également dans la feuille "Récap".
    J'ai déjà essayé avec le même code mais en changeant le nom de la feuille, mais cela ne marche pas, les données sont seulement enregistrées dans les feuilles "S1 à S52" mais pas dans la feuilles "Récap".
    Pouvez-vous m'expliquer comment procéder s'il vous plait ?
    Je vous en remercie par avance

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    Private Sub Cmb4_Click() 
    Dim Vnum As Long
    Vnum = 0
    'Selectionne la feuille active
    ActiveSheet.Activate
    'Regarde si la cellule A13 de la feuille est libre, si oui elle est sélectionnée
    'si non on descend d'une cellule en dessous
    If Range("a13") = "" Then
        Range("a13").Select
        Vnum = 1
    Else
        Range("a12").End(xlDown).Select
        Vnum = Selection.Value + 1
        ActiveCell.Offset(1, 0).Range("a1").Select
    End If
    'on range les données dans les cellules à droite en partant du n° en A
    ActiveCell.Value = Vnum
        ActiveCell.Offset(0, 2).Value = Date
            ActiveCell.Offset(0, 3).Value = FrmOp1.T2.Value
            ActiveCell.Offset(0, 4).Value = FrmOp1.Cb1.Value
            ActiveCell.Offset(0, 5).Value = FrmOp1.Lst1.Value
            ActiveCell.Offset(0, 6).Value = FrmOp1.T9.Value
            ActiveCell.Offset(0, 7).Value = FrmOp1.Cb2.Value
            ActiveCell.Offset(0, 8).Value = FrmOp1.Cb3.Value
            ActiveCell.Offset(0, 13).Value = FrmOp1.T7.Value
    If FrmOp1.Ch2.Value = True Then
    ActiveCell.Offset(0, 9).Value = "Par chèque"
    End If
    If FrmOp1.Ch4.Value = True Then
    ActiveCell.Offset(0, 9).Value = "En liquide"
    End If
    If FrmOp1.Ch5.Value = True Then
    ActiveCell.Offset(0, 9).Value = "Par prélèvement automatique"
    End If
    If FrmOp1.Ch6.Value = True Then
    ActiveCell.Offset(0, 9).Value = "Par dépôt au guichet"
    End If
            ActiveCell.Offset(0, 10).Value = FrmOp1.Cb4.Value
            ActiveCell.Offset(0, 11).Value = FrmOp1.T4.Value
            ActiveCell.Offset(0, 12).Value = FrmOp1.T5.Value
    If FrmOp1.Ch2.Value = True Then
    ActiveCell.Offset(0, 16).Value = FrmOp1.T7.Value
    End If
    End Sub

  2. #2
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour nec le forum FrmOp1.T2.Value le nom de user +une textbox ??
    comme cela pas facile zip un bout de code avec 2 ou 3feuilles & le resultat excompte dans la feuille recap. comme cela pas facile si tu veus que quelqu un puisse t aider

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour à tous,

    Désolé d'avoir tardé à répondre mais la gastro est passée par là.

    Sinon concernant mon problème, il faut que je fasse une feuille récap des 52 semaines par adhérent. En clair, dans une feuille "Récap", il faut que je rassemble toutes les saisies faites dans les feuilles S1 à S52.

    J'ai essayé avec des TCD, mais cela est trop fastidieux, je cherche donc une solution facile à mettre en place

  4. #4
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour nec le forum comme j ai compris ton code qui demande a etre simplifier en autre. tu selectionnes une semaine tu recherche la premiere ligne vide que tu remplis de a x a px . dans ton code tu rajoute a la fin call test le nom de la macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Cmb4_Click()
    'ton code
    '....
    '....
    test
    End Sub
    la macro a adapter

    Option Explicit
    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
    Sub test()
    Dim Ws As Worksheet, i As String
    Application.ScreenUpdating = False
    i = ActiveSheet.Name
    Sheets("recap").Activate
    Range("A2:p65536").Clear
    For Each Ws In Worksheets
    If Ws.Name <> "recap" Then
    Worksheets(Ws.Name).Activate
    Sheets(Ws.Name).Activate
    Sheets("recap").Range("A65536").End(xlUp)(2).Value = Ws.Name
    Range("a2:p" & Range("a65536").End(xlUp).Row).Copy _
    Destination:=Sheets("recap").Range("A65536").End(xlUp)(2)
    End If: Next Ws: Sheets(i).Select: Beep
    End Sub
    attention dans l exemple je considere que tu as que c est feuilles & pas d autres donc 52 feuilles
    autrement il faut adapter

    If Ws.Name <> "recap" and Ws.Name <> "xxx" then

    ps attention dans mon ex: c est recap & non Recap

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Ok Laetitia, je mets ça en place et je te tiens informée

  6. #6
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Laetitia,

    Ce que tu as fait et bien, mais ce n'est pas tout à fait ce que je cherche à faire.
    Avec ton code, je fais un copier-coller des 52 feuilles dans la feuille Récap.
    Je cherche simplement à placer dans la feuille "Récap", les mêmes données saisies que dans la feuille active.
    Par exemple, à l'aide de mon UserForm, je saisi des données qui vont les unes à la suite des autres dans la feuille active (S1 par exemple), je souhaiterai qu'elles le soient également dans la feuille "Récap" et quelle que soit la feuille choisie de S1 à S52.

    Dans ton code, il faudrait ajouter une fonction qui permettrait de supprimer toutes les lignes vides dans la feuille "Récap", et ça je ne sais pas faire.
    Si je ne suis pas clair, dis le moi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplir une feuille de calcul excel distante à partir d'un userform
    Par Kikumaru dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/05/2007, 10h43
  2. [Jxl] remplir une feuille excel
    Par LeXo dans le forum Documents
    Réponses: 3
    Dernier message: 17/02/2007, 17h04
  3. [C#] Remplir une navbar a l'aide d'un dataset
    Par Theka dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/08/2006, 17h38
  4. Réponses: 2
    Dernier message: 02/08/2005, 09h40
  5. Réponses: 5
    Dernier message: 05/07/2005, 20h25

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