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 :

Fusion de Tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 3
    Par défaut Fusion de Tableau
    Bonjour,

    je suis novice en VBA Excel et je dois manipuler des tableaux et je ne sais vraiment pas comment automatiser une tâche.

    J'ai deux tableaux de contact tel que dans chaque tableau j'ai 3 colonnes
    NOM / PRENOM / TEL

    Le but est de compléter la colonne TEL du premier tableau (d'un classeur excel) avec les données TEL du second tableau (dans un autre classeur Excel)

    J'ai essayé de réfléchir à la procédure mais je ne sais pas du tout comment l'écrire dans ce langage :
    "
    Pour chaque ligne du tableau 2,
    Rechercher dans le tableau 1 NOM et PRENOM du Tableau 2,
    Copier le TEL du Tableau 2 dans la case TEL du Tableau 1 si elle est vide,
    Passer à la ligne suivante du tableau 2,
    etc...
    "
    Merci pour votre précieuse aide.

    Fred

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut Recherche
    Bonjour Squab, Bonjour le Forum,

    Bienvenu au Forum.

    Une méthode parmi d'autres.

    Afin déviter les doublons de nom (DURAND, DUPONT,...), mieux vaut rechercher le nom complet (Nom + Prénom) depuis la Feuille 1 dans la Feuille2.

    Pour tous les numéros de téléphone vides de la Feuille 1, recherche du nom complet dans la feuille 2 afin de retourner le numéro de téléphone.

    Attention ! A adapter.
    Dans mon exemple,
    - les téléphones, noms et prénoms occupent respectivement les colonnes A, B, et C.
    - les champs de données débutent en ligne 3

    Remarque : la méthode RehercheV aurait pu également être appliquée.

    Regarde bien ce code mot-clé par mot-clé, ligne par ligne et reviens si nécessaire.

    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
    46
    47
    48
    49
    50
    51
    52
    Public Sub Recherche_Tél()
     
    Dim début1 As Range, fin1 As Range, lazone1 As Range
    Dim début2 As Range, fin2 As Range, lazone2 As Range
    Dim c As Range
    Dim nomcomplet2 As Range
     
    'Nom complet Feuille1
    With Sheets("Tableau1")
            Set début1 = .Cells(3, 4)
            Set fin1 = .Cells(.Rows.Count, 3).End(xlUp).Offset(0, 1)
            Set lazone1 = .Range(début1, fin1)
            With lazone1
                    .FormulaR1C1 = "=RC[-2]&RC[-1]"
                    .Value = .Value
            End With
    End With
     
    ''Nom complet Feuille1
    With Sheets("Tableau2")
            Set début2 = .Cells(3, 4)
            Set fin2 = .Cells(.Rows.Count, 3).End(xlUp).Offset(0, 1)
            Set lazone2 = .Range(début2, fin2)
            With lazone2
                    .FormulaR1C1 = "=RC[-2]&RC[-1]"
                    .Value = .Value
            End With
    End With
     
    'Recherche pour les numéros de téléphone manquants de la feuille1
    'le nom complet dans la feuille 2 et retour du numéro de téléphone manquant
    For Each c In lazone1.Offset(0, -3).SpecialCells(xlCellTypeBlanks)
            nomcomplet1 = c.Offset(0, 3).Value
            Set nomcomplet2 = lazone2.Find(nomcomplet1, LookIn:=xlValues)
            If Not nomcomplet2 Is Nothing Then _
                    c.Value = nomcomplet2.Offset(0, -3).Value
    Next c
     
    'Effacement des cellules accessoires
    lazone1.ClearContents
    lazone2.ClearContents
     
    'Variables réinitialisées
    Set nomcomplet2 = Nothing
    Set lazone2 = Nothing
    Set fin2 = Nothing
    Set début2 = Nothing
    Set lazone1 = Nothing
    Set fin1 = Nothing
    Set début1 = Nothing
     
    End Sub

Discussions similaires

  1. fusion cellules tableau
    Par ahmed-bf dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 18/03/2013, 12h26
  2. fusion cellules tableau
    Par aureliend8800 dans le forum Webi
    Réponses: 10
    Dernier message: 02/01/2013, 17h39
  3. Champ de fusion dans tableau Excel dans Word
    Par tistou_2000 dans le forum Word
    Réponses: 3
    Dernier message: 24/03/2011, 20h15
  4. Tri fusion sans tableau intermédiaire.
    Par jeremux dans le forum Caml
    Réponses: 4
    Dernier message: 10/12/2010, 06h46
  5. [Débutant] Fusion de tableau
    Par Darkenshin dans le forum C
    Réponses: 8
    Dernier message: 25/01/2006, 13h21

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