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 :

Copier les valeurs d'une feuille sur des autres automatiquement [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2013
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Copier les valeurs d'une feuille sur des autres automatiquement
    Bonjour,

    Voici l'idée :

    J'ai créé une sorte de base de données recensant plusieurs informations.

    A partir de ces informations, j'ai réussi à générer automatiquement des feuilles avec les informations entrées comme ceci : (BDD et les feuilles créées en bas)



    J'ai également réussi à générer un formulaire se générant automatiquement sur les feuilles créées comme ceci :




    Cependant je n'arrive pas à attribuer automatiquement les valeurs contenues dans "Tableau Copro" dans les pages automatiquement générées dans les cases correspondants à F3 F4 F5

    Voici le code VBA lié à la génération automatique des feuilles en fonction de la BDD :
    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 = 3 ' a ajuster
     
    derLi = Columns(maColonne).Find("*", , , , , xlPrevious).Row
    For i = 3 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.Add After:=Sheets(Worksheets.Count)
      ' nom de la feuille = valeur de la cellule
      Sheets(Worksheets.Count).Name = maFeuille.Cells(i, maColonne - 1) & "*" & maFeuille.Cells(i, maColonne) & "*" & maFeuille.Cells(i, maColonne + 1)
     
    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
    J'espère que vous avez compris l'idée... J'ai essayé de le faire moi même mais cela n'a pas été fructueux, donc si quelqu'un a une idée de comment faire merci de bien vouloir m'aider.

    Voici ce que j'avais en tête mais qui n'a pas marché... Rajouter dans le code ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Sheets(Worksheets.Count).Value = Range("F5").Value = maFeuille.Cells(i, maColonne - 1)
      Sheets(Worksheets.Count).Value = Range("F4").Value = maFeuille.Cells(i, maColonne)
      Sheets(Worksheets.Count).Value = Range("F3").Value = maFeuille.Cells(i, maColonne + 1)
    Merci à vous.

  2. #2
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 164
    Points : 87
    Points
    87
    Par défaut Fonction Excel
    Bonsoir,

    Sans passer par le VB, pourquoi ne pas faire une fonction directement sur EXCEL, la fonction RechercheV ?

    A moins que je n'ai pas compris votre souhait !

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2013
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Bonsoir,

    D'une part, merci d'avoir répondu !

    En fait, je me suis même pas posé la question de savoir si le VLookup était possible.. Etant donné que les feuilles sont générés automatiquement et varient d'un projet à un autre (le "Tableau Copro" étant sans cesse différent), je ne savais pas cette fonction était compatible avec ce genre de procédés automatisés.

    Je vais essayer de reformuler ma requête pour que vous puissiez me confirmer qu'un RechercheV est possible.



    A chaque fois qu'un nom, prénom et lot est rentré dans la première page "Tableau Copro" ça génère une page propre à cette personne là, et je voudrais qu'au sein de cette feuille genérée, il puisse y figurer seules ses propres informations, et pas celle des autres lignes concernant d'autres personnes.

    Est-ce que c'est ce que vous aviez compris?

  4. #4
    Membre expérimenté
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Points : 1 499
    Points
    1 499
    Par défaut copier les valeurs d'une feuille sur les autres automatiquement
    bonjour,

    Je suis syndic bénévole de mon immeuble.

    Comme le précédent intervenant, je ne vois pas la nécessité de passer par VBA pour ce type de problème.

    Si les copro peuvent effectivement changés dans le temps, il y a néanmoins une constante qui est le numéro de lot dont la place dans la feuille tableau copro est invariable.

    Par conséquent, il suffit sur les feuilles propres à chaque copro de poser en cellules F : = tableau copro! C N°ligne

    Si le copro change, le contenu de la feuille individuelle suit. Nul besoin de créer une nouvelle feuille copro, il suffit d'indiquer clairement la date du changement de titulaire du compte.

    la feuille tableau copro peut aussi comporter un hyperlien sur le nom du copro. les onglets des feuilles copro peuvent alors être maqués puisqu'un simple clic sur le lien te renvoie à la feuille.
    Cela suppose que les feuilles individuelles ne reprennent pas le nom du copro mais se nomment lot1 , lot2, .......

    cordialement.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/04/2015, 12h35
  2. [XL-2003] Avec VBA, copier les formats et les valeurs d'une feuille vers une autre.
    Par mormic dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/11/2014, 19h17
  3. Réponses: 2
    Dernier message: 12/08/2012, 18h43
  4. Réponses: 5
    Dernier message: 09/08/2011, 11h36
  5. Copier les valeurs d'une feuille dans une nouvelle feuille en VBA
    Par muska78 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/06/2008, 10h44

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