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 18/08/2011, 09h32   #1
 
Homme Julien
Inscription : juillet 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Julien
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : juillet 2011
Messages : 6
Points : -1
Points : -1
Par défaut Comparer deux feuilles et copier les valeurs équivalentes sur une troisième

Bonjour à tous,

J’essaie d'écrire une macro qui me comparerait les valeur de la feuille 1 avec celles de la feuille 2 et lorsqu'il y aurait la même valeur sur les feuilles 1 et 2 couperait la ligne entière sur la feuille 1 et la collerait dans la feuille 3.

J'ai écris le code suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
Dim m As Integer
Dim n As Integer
Dim reponse As Boolean
 
    For m = Sheets("Feuille 1").Range("A65000").End(xlUp).Row To 10 Step -1
        reponse = True
 
       For n = Sheets("Feuille 2").Range("A65000").End(xlUp).Row To 1 Step -1
 
            If Sheets("Feuille 1").Range("A" & m).Value = Sheets("Feuille 2").Range("A" & n).Value Then reponse = False
 
       Next n
                If reponse = True Then
                Sheets("Feuille 1").Rows(m).EntireRow.Select 
                Selection.Cut
                Sheets("Feuille 3").Select
                Range("A10").Select
                ActiveSheet.Paste
                End If
 
    Next m
La macro semble faire son boulot jusqu'à trouver deux valeur équivalente, à ce moment là elle plante et s'affiche une erreur 1004 : "La méthode sélect de la classe range a échouée"...

qu'en pensez vous ?
Julzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 14h02   #2
Membre actif
 
Avatar de Duddy
 
Homme Marc
Agent de maitrise
Inscription : novembre 2007
Messages : 243
Détails du profil
Informations personnelles :
Nom : Homme Marc
Âge : 45
Localisation : France

Informations professionnelles :
Activité : Agent de maitrise
Secteur : Service public

Informations forums :
Inscription : novembre 2007
Messages : 243
Points : 186
Points : 186
Bonjour le forum,

J'aurais plutôt écris :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Dim m As Integer
Dim n As Integer
dim vDerligne as Integer
Dim reponse As Boolean
 
    For m = Sheets("Feuille 1").Range("A65000").End(xlUp).Row To 10 Step -1
        reponse = False
 
       For n = Sheets("Feuille 2").Range("A65000").End(xlUp).Row To 1 Step -1
 
            If Sheets("Feuille 1").Range("A" & m).Value = Sheets("Feuille 2").Range("A" & n).Value Then reponse = True
 
       Next n
                If reponse = True Then
                Sheets("Feuille 1").Rows(m).EntireRow.Select 
                Selection.Cut
                Sheets("Feuille 3").Select
vDerligne= Sheets("Feuille 3").Range("A65000").End(xlUp).Row               
Range("A" & vDerligne).Select
                ActiveSheet.Paste
                End If
 
    Next m
En espérant avoir compris ta demande.
__________________
Bon courage à toi.
Duddy 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 16h05.


 
 
 
 
Partenaires

Hébergement Web