Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/10/2011, 01h17   #1
Invité de passage
 
Homme kim dem
Étudiant
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme kim dem
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : 0
Points : 0
Par défaut comparaison de deux feuilles et traitements sur lignes voulues

Bonjour

Je fais appel à votre savoir, ô spécialistes de VBA.

J'ai une première feuille Excel (FEUILLE1) avec 3 colonnes.

- La colonne 1 (Référence) .
- La colonne 2 (montant)
- La colonne 3 (DATE) est... une date. Aucune donnée renseignée dans la colonne.

Ma seconde feuille (FEUILLE2) contient les mêmes colonnes.

Mon objectif est de comparer le contenu de Référence et montant dans les 2 feuilles et de réaliser les opérations suivantes dans FEUILLE 3 :

1. si Référence + montant est identique*, conserver les lignes et supprimer ou masquer les autres
2. pour chaque ligne conservée, copier les données de colonne DATE
demahom08 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 10h41   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour

Citation:
2. pour chaque ligne conservée, copier les données de colonne DATE
de quelle feuille ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 12h16   #3
Invité de passage
 
Homme kim dem
Étudiant
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme kim dem
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : 0
Points : 0
Par défaut comparer entre feil xl

bon c'est une feuil de classeur xl
j'ai un 2 grand tableau diferent sur deux feuil differentes dans le meme classeur xl trois colonne et quelle que fois ya les meme donnés alors je veut avoir une troisieme feuil ou je trouve les meme donné trouver
ou les references et les montant soi le meme
cordialement
demahom08 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 12h23   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bien compris. Si la référence et les montants sont identiques, on recopie la date, mais où la prend-on ? sur quelle feuille ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 12h41   #5
Invité de passage
 
Homme kim dem
Étudiant
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme kim dem
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : 0
Points : 0
Par défaut comparer feuil xl

bon des fois, il y a deux différentes date pour les même références et le même montant alors on doit recopier les deux date différentes dans les deux ligne l'une après l'autre sur la troisième feuille avec les données double.

cordialement

mel-k
demahom08 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 16h05   #6
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Essaie :

Code :
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
Sub test2()
    'Réf. 111025.xlsm demahom08
    Dim Plage1 As Range, Plage2 As Range, c As Range, Plage3 As Range
    Dim Var As Variant
    With Sheets("Feuil1")
        Set Plage1 = .Range(.[A1], .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 2)
        Plage1.Copy Sheets("Feuil3").[A1]
    End With
    With Sheets("Feuil2")
        Set Plage2 = .Range(.[A1], .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 2)
        Plage2.Copy Sheets("Feuil3").Cells(.Rows.Count, 1).End(xlUp).Offset(1)
    End With
    With Sheets("Feuil3")
        Set Plage3 = .Range(.[A1], .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 2)
        Plage3.RemoveDuplicates Columns:=Array(1, 2)
        Set Plage3 = Plage3.Resize(, 1)
        For Each c In Plage3
            c.Offset(, 2).Value = Evaluate("sumproduct((Feuil1!" & Plage1.Resize(, 1).Address & "=" & c.Address & _
            ")*(Feuil1!" & Plage1.Resize(, 1).Offset(, 1).Address & "=" & c.Offset(, 1).Address & "),Feuil1!" & _
            Plage1.Resize(, 1).Offset(, 2).Address & ")")
            If c.Offset(, 2).Value = 0 Then c.Offset(, 2).Value = ""
            Var = Evaluate("sumproduct((Feuil2!" & Plage2.Resize(, 1).Address & "=" & c.Address & _
            ")*(Feuil2!" & Plage2.Resize(, 1).Offset(, 1).Address & "=" & c.Offset(, 1).Address & "),Feuil2!" & _
            Plage2.Resize(, 1).Offset(, 2).Address & ")")
            If Var <> 0 Then
                If c.Offset(, 2) = "" Then
                    c.Offset(, 2).Value = Var
                Else
                    c.Offset(, 3).Value = Var
                End If
            End If
        Next c
    End With
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 17h58   #7
Invité de passage
 
Homme kim dem
Étudiant
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme kim dem
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : 0
Points : 0
merci Daniel
Mais désolé ça marche pas erreur de syntaxe


cordialement
Mel-k
demahom08 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 21h42   #8
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
sur qu'elle ligne l'erreur ?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 19h26   #9
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Comme tu as indiqué que tu utilisais Excel 2010, j'ai utilisé la méthode "RemoveDuplicates " qui est disponible à partir d'Excel 2007. Avec quelle version testes-tu ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 21h46   #10
Invité de passage
 
Homme kim dem
Étudiant
Inscription : octobre 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme kim dem
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 5
Points : 0
Points : 0
salut
c'est la version 2007
cordialement
demahom08 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 10h01   #11
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Alors quelle est la ligne qui produit l'erreur ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h08.


 
 
 
 
Partenaires

Hébergement Web