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

Excel Discussion :

recherche d'une correspondance entre 2 classeurs (test) et copie d'une cellule [XL-2013]


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2
    Points : 3
    Points
    3
    Par défaut recherche d'une correspondance entre 2 classeurs (test) et copie d'une cellule
    Bonjour à tous !

    Je suis nouveau (sur ce forum et en VBA) et après avoir chercher un peu partout sur les faq etc., je vous soumets mon problème.

    J'ai 2 classeurs excel Classeur1.xlsx Classeur2.xlsm

    Je tente de coder une macro qui me permettrait de remplir la colonne C du classeur 2 après un test par, soit "pas de correspondance" si test "faux", soit la cellule de la colonne B du classeur 1 si le test est "vrai". Le test est de prend chaque cellule de la colonne A du classeur 2 et de vérifier si la même valeur existe dans la colonne A du classeur 1.

    En clair, comme exemples avec les fichiers joints, la colonne C de mon classeur 2 se remplirait comme suit : 2 / 3 / 6 / 10 / pas de correspondance.

    Un grand merci d'avance à toutes celles et ceux qui voudront bien aider et corriger ma macro !!!
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par GCX07 Voir le message
    Bonjour,

    A tester :
    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
     
    Option Explicit
     
    Sub MettreAJourClasseur2()
     
    Dim FichierSource As Workbook
    Dim AireSource As Range, CelluleSource As Range, AireCible As Range, CelluleCible As Range
    Dim DerniereLigne As Long
    Dim Repertoire As String
    Dim CorrespondanceTrouvee As Boolean
     
     
           ' Repertoire = "C:\Users\Eric\Downloads\"
            Repertoire = "E:\Nounours\Maxwell_W\"
     
            Set ShCible = Sheets("Feuil1")
            With Sheets("Feuil1")
                 DerniereLigne = .Cells(.Rows.Count, 1).End(xlUp).Row
                 Set AireCible = .Range(.Cells(1, 1), .Cells(DerniereLigne, 1))
                 AireCible.Offset(0, 1).ClearContents
            End With
     
            Set FichierSource = Workbooks.Open(Filename:=Repertoire & "Classeur1.xlsx")
            With FichierSource.Sheets("Feuil1")
                 DerniereLigne = .Cells(.Rows.Count, 1).End(xlUp).Row
                 Set AireSource = .Range(.Cells(1, 1), .Cells(DerniereLigne, 1))
            End With
     
            For Each CelluleCible In AireCible
                CorrespondanceTrouvee = False
                For Each CelluleSource In AireSource
                    If CelluleCible = CelluleSource Then
                       CelluleCible.Offset(0, 1) = CelluleSource.Offset(0, 1)
                       CorrespondanceTrouvee = True
                       Exit For
                    End If
                Next CelluleSource
                If CorrespondanceTrouvee = False Then
                   CelluleCible.Offset(0, 1) = "Pas de correspondance"
                End If
            Next CelluleCible
     
            FichierSource.Close savechanges:=False
     
            Set AireCible = Nothing
            Set AireSource = Nothing
            Set FichierSource = Nothing
            Set ShCible = Nothing
     
    End Sub
    Nb : Mettez votre code entre balises #

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup Eric ! Ca fonctionne parfaitement.

    les lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set ShCible = Sheets("Feuil1")
    Set ShCible = Nothing
    ne sont pas utiles.

    Qu'entendez-vous par mettre mon code entre balises ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par GCX07 Voir le message
    Dans le menu, # permet de présenter les lignes de code comme dans mon message.
    Quant à ShCible, effectivement ces lignes de code ne sont pas utiles.

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

Discussions similaires

  1. copier une valeur a partir d'un userform dans la cellule d'une feuille
    Par VELO1222 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/04/2018, 12h58
  2. Copier une valeur dans la cellule au-dessus si vide
    Par ThSPB dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/02/2011, 14h52
  3. Copier une partie du contenue d'un fichier dans un autre fichier
    Par jvkd59 dans le forum VB 6 et antérieur
    Réponses: 21
    Dernier message: 18/09/2010, 15h49
  4. Recherche d'une liste dont le produit de ses membres s'approche le plus d'une valeur
    Par sm1z2000 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 11/05/2009, 16h05
  5. Pb copier une valeur d'une textbox vers une cellule
    Par whykiki dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/12/2007, 11h49

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