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 :

Comparer deux feuilles macro vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 12
    Par défaut Comparer deux feuilles macro vba
    bonjour a tous , JE suis debutante et je bloque sur ce point


    comment ajouter une boucle et condition a cette macro

    la feuille 1
    la ligne A1:A9 date A1 et A9 c'est cellules nommés ET le reste n'est pas nommée exemple 2010.2011.2012.2013..................2018 dans ce cas A1 celulle nomé "date debut"
    A9 celullule nommé "datedefin" =2018

    Aune colonne A5:A : reference



    la feuille 2
    colonne C refence
    colonne D date
    colonne H prix


    cette macro elle compare colonne C de la feuille 2 avec le A de la feuille 1 et elle copie le prix de H DE LA FEUILLE 2 dans la colonne C de la feuille 1
    ELLE COMPARE PAS LES DATES

    SACHANT QUE LA CONDITION IL FAUT QUE LES PRIX COPIER LEURS DATE SOIT ENTRE DATEDEBUT ET DATEFIN



    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
     Sub compar()
     
        Dim Lig As Long
        Dim NbrLig As Long, NumLig As Long
        Dim colfeuil2 As String
        Dim i As Integer
        Dim D1 As Date
        Dim DerCol As Integer
        Dim j As Integer           
     
         D1 = Range("datedebut").Value
         D2 = Range("datefin").Value
     
            NbrLig = Worksheets("Feuil1").Range("A" & 65536).End(xlUp).Row
            NumLig = Worksheets("Feuil2").Range("C" & 65536).End(xlUp).Row
     
     
     
                             For Lig = 1 To NbrLig
                             colfeuil2 = Worksheets("Feuil1").Range("A" & Lig)
                             'ligne = Worksheets("Feuil1").Range("A1:Z1")
                             If colfeuil2 = "" Then GoTo lab
                                i = 1
     
                                   For i = 1 To NumLig
     
                                     If Worksheets("Feuil2").Range("C" & i).Value = colfeuil2 Then
     
                                     Worksheets("Feuil2").Range("H" & i).Copy
                                     Worksheets("Feuil1").Range("C" & Lig).Select
                                     ActiveSheet.Paste
                                     Exit For
                                     End If
     
     
                                       Next i
     
    lab:
                          Next Lig                   
     
     
             End Sub

    merci de votre aide

  2. #2
    Membre éprouvé Avatar de Wololol
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 104
    Par défaut
    BONJOUR LORAO,

    Je ne comprend pas ton histoire de prix, mais je vais tout de même tenter de répondre à ta question :

    Pour que tu ne copie le prix uniquement si sa date est compris entre deux valeur, tu peux procéder de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Worksheets("Feuil2").Range("C" & i).Value >= Worksheets("Feuil1").Range("datedebut").Value And Worksheets("Feuil2").Range("C" & i).Value <= Worksheets("Feuil1").Range("datefin").Value Then
    Worksheets("Feuil2").Range("H" & i).Copy
    Worksheets("Feuil1").Range("C" & Lig).Paste
    En supposant que la cellule que tu souhaites comparer soit bien la cellule ("C" & i )

    De plus j'ai quelque peu modifié la fin de ta macro, en effet le select n'est pas nécessaire et tu peux directement faire un Paste.

    Si cela n'a pas répondu à ta question, essaie de mieux expliquer ton problème.

    Bonne journée

  3. #3
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 12
    Par défaut
    , la macro que j'ai publié elle compare et elle recepere les prix elle l'ai mit dans la feuille 1 dans une seule colonne mais elle prend pas en compte les date


    je avoir ce resultat comme cette exemple
    Nom : a.JPG
Affichages : 148
Taille : 16,2 KoNom : a2.JPG
Affichages : 136
Taille : 15,0 Ko

  4. #4
    Membre éprouvé Avatar de Wololol
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 104
    Par défaut
    D'après l'exemple que tu viens de nous fournir, tu ne fais que "refaire" la mise en forme de ton premier tableau.

    Du coup je ne vois pas trop l'utilité de ta date début et date fin, que veux-tu faire, précisément ?

  5. #5
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 126
    Par défaut
    Salut (c'est toujours sympa un petit bonjour hein )

    Je n'arrive pas bien à comprendre non plus mais as tu regardé du coté des Tableaux Croisés Dynamiques? Ne répondraient-ils pas à ton besoin?

    Si ça n'est pas le cas, peux tu nous fournir un fichier démo avec des données quelconques pour pouvoir regarder comment elles sont structurée.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  6. #6
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 12
    Par défaut
    mais dans cette exemple j'ai mis 2 feuille dans le meme fichier
    mais en vrai je recupere ces donnée dans le fichie 2 qui a la feuille 2 et je le met dans le fichier 1 qui a la feuille 1

    c'est pour cela j'ai mis des celule nommé , cette macro sera utiliser pour d'autres fichiers

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    bonjour larao12

    oulah!!!
    d'abords on parle de 2 sheets apres on par de 2 classeurs et 2 sheets il faut savoir car c'est pas du tout la meme chose

    1. comment collectionne tu les données du fichier 1 et 2
    2. quelle methode a tu utilisée
    3. il faut commencer par ca avant de toucher au sheets

    a aucun moment je vois une requete (sur) ou une ouverture du fichier2 dans ton code
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. [XL-2010] Code VBA pour comparer deux feuilles Excel
    Par sam013 dans le forum Excel
    Réponses: 1
    Dernier message: 13/08/2012, 14h53
  2. Comparer deux feuilles et supprimer les doublons
    Par Lison Lisette dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 13/10/2010, 22h35
  3. Comparer deux fichiers avec VBA
    Par Bricoltou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/11/2009, 23h23
  4. comparer deux feuilles excel ss VBA
    Par washh dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/08/2008, 16h14
  5. comparer deux feuilles du même classeur
    Par ririrourou dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 20/05/2008, 11h51

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