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 :

Copie dynamique de colonnes de différentes feuilles


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 78
    Par défaut Copie dynamique de colonnes de différentes feuilles
    Bonjour,

    Je suis débutante en Excel.

    J'essaye de créer un petit CRM.
    J'ai 3 feuilles dans un dossier qui contiennent des colonnes nom, prénom, tel et email en plus d'autres information.
    Sur une 4 eme feuille Newsletter je veux avoir ces colonnes là et à chaque fois que je saisi un nouveau client sur l'une des 3 feuilles je le retrouve dans la feuille newsletter.
    J'ai pensé aux TDC mais je ne sais pas trop comment.

    J'utilise Excel 2010.
    Votre aide est appréciée

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    tu fais une macro sheet_change dans chacun de tes trois sheets qui va venir remplir tes feuilles... Soit tu fais une macro actualisation qui va te vider ta liste newsletter et te la reremplir quand tu cliques dessus.

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 78
    Par défaut
    Bonjour,

    Merci pour ta réponse EngueEngue.
    J'ai fait une Macro Actualiser comme tu m'as suggéré mais le problème c'est que je dois copié de plusieurs lignes et je vois pas comment faire!

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Pour le remplissage, si l'ordre est indifférent, il suffit de faire une boucle sur les feuilles et sur les lignes.

    Si l'ordre est important il te faudra une condition de remplissage, l'ordre peut être une colonne avec des numéros qui s'incrémentent ou une date.

    Si tu veux qu'ils s'ajoutent automatiquement tu devrais faire ta macro evenementielle _change

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 78
    Par défaut
    J'ai essayé de tester avec cela pour commencer mais ça n'a pas l'air de fonctionner:
    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
    Sub copie_adresse()
     
     
             Const NB_LIGNE As Integer = 10 '3000 Enregistrements
     
     
        For i = 4 To NB_LIGNE
     
             If ActiveWorkbook.Worksheets(2).Range("A" & i) <> "" Then 'Est ce que le nom est enregistré
                For j = 4 To 10
                    If Worksheets(7).Range("B" & j) = "" Then
                    MsgBox "je peux copier dans la ligne" & j
                    Else
                    j = j + 1
                    End If
     
                    Next
                Else
               MsgBox "pas d'enregistrement à copier"
               End If
     
        Next
     
    End Sub

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 78
    Par défaut
    Bonjour,

    Après plusieurs recherches j'ai réussi à faire ce code sur une seule feuille pour l'instant.
    Le souci c'est que ce code me copie la ligne entière avec toutes les colonnes, alors que moi j'ai besoin de copier uniquement les colonnes B, C et H, ou si c'est trop compliqué, la plage de B:H

    Votre aide est vraiment appreciée.

    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
    Sub Macro1()
     
    Dim Lig     As Long
      Dim Col     As String
      Dim NbrLig  As Long
      Dim NumLig  As Long
     
     Worksheets(7).Activate ' feuille de destination
     
      Col = "B"                 ' colonne de la donnée non vide à tester
      NumLig = 0
      With Worksheets(2)     ' feuille source
      NbrLig = .Cells(65536, Col).End(xlUp).Row
      For Lig = 1 To NbrLig
        If .Cells(Lig, Col).Value <> "" Then
     
          .Cells(Lig, Col).EntireRow.Copy
          NumLig = NumLig + 1
          Cells(NumLig, 1).Select
          ActiveSheet.Paste
     
        End If
      Next
      End With
     
    End Sub

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/03/2015, 11h31
  2. Réponses: 4
    Dernier message: 30/01/2012, 12h04
  3. Copie d'une colonne dans une feuille différente chaque mois
    Par nono256 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/11/2010, 09h47
  4. Comparer des colonnes dans 2 feuilles différentes et supprimer les doublons
    Par eudeline91 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/04/2008, 09h24
  5. Copie d'une colonne de cellules sur une autre feuille
    Par maxou59 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/12/2006, 10h06

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