Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Les lignes dfférentes dans 2 feuilles Excel

5 réponses
Avatar
pataud
Bonsoir à tous,

Pouvez vous m'aider à résoudre mon problème?

J'ai 2 feuilles de calcul Excel (dont la première ligne comporte les mêmes
en-têtes de colonnes) et que je voudrais comparer pour mettre en évidence
les
lignes qui sont différentes, et les recopier dans une troisième feuille par
exemple.
Je dispose de Office 2000 et j'ai tenté de créer une requête dans Access,
mais je n'ai réussi qu'à obtenir les lignes communes (l'opposé de ce que je
cherche à faire).

Merci d'avance à ceux qui se pencheront sur mon cas ...

Pataud.

5 réponses

Avatar
garnote
Bonsoir,

Supposons que tes données sont en A2:A10
des feuilles Feuil1 et Feuill2.
Cette macro copie sur les colonnes A et B de
la Feuil3 les couples de valeurs distinctes :

Sub Copier()
Set un = Worksheets("Feuil1").[A2:A10]
Set deux = Worksheets("Feuil2").[A2:A10]
For i = 1 To 9
If un(i) <> deux(i) Then
k = k + 1
Worksheets("Feuil3").Cells(k, 1) = un(i)
Worksheets("Feuil3").Cells(k, 2) = deux(i)
End If
Next i
End Sub

Est-ce le résultat attendu ?

Serge



"pataud" a écrit dans le message de news: 490f5822$0$12025$
Bonsoir à tous,

Pouvez vous m'aider à résoudre mon problème?

J'ai 2 feuilles de calcul Excel (dont la première ligne comporte les mêmes
en-têtes de colonnes) et que je voudrais comparer pour mettre en évidence
les
lignes qui sont différentes, et les recopier dans une troisième feuille par
exemple.
Je dispose de Office 2000 et j'ai tenté de créer une requête dans Access,
mais je n'ai réussi qu'à obtenir les lignes communes (l'opposé de ce que je
cherche à faire).

Merci d'avance à ceux qui se pencheront sur mon cas ...

Pataud.





Avatar
pataud
Bonsoir Serge,

Merci de ta réponse, et je suis désolé car j'ai du mal m'exprimer:
mes données se présentent en lignes (comme une base de données)
la premières ligne étant le nom des champs.
C'est certainement pour ça que je n'obtiens rien sur ''feuil3''

Pataud.


"garnote" a écrit dans le message de
news:
| Bonsoir,
|
| Supposons que tes données sont en A2:A10
| des feuilles Feuil1 et Feuill2.
| Cette macro copie sur les colonnes A et B de
| la Feuil3 les couples de valeurs distinctes :
|
| Sub Copier()
| Set un = Worksheets("Feuil1").[A2:A10]
| Set deux = Worksheets("Feuil2").[A2:A10]
| For i = 1 To 9
| If un(i) <> deux(i) Then
| k = k + 1
| Worksheets("Feuil3").Cells(k, 1) = un(i)
| Worksheets("Feuil3").Cells(k, 2) = deux(i)
| End If
| Next i
| End Sub
|
| Est-ce le résultat attendu ?
|
| Serge
|
|
|
| "pataud" a écrit dans le message de news:
490f5822$0$12025$
| > Bonsoir à tous,
| >
| > Pouvez vous m'aider à résoudre mon problème?
| >
| > J'ai 2 feuilles de calcul Excel (dont la première ligne comporte les
mêmes
| > en-têtes de colonnes) et que je voudrais comparer pour mettre en
évidence
| > les
| > lignes qui sont différentes, et les recopier dans une troisième feuille
par
| > exemple.
| > Je dispose de Office 2000 et j'ai tenté de créer une requête dans
Access,
| > mais je n'ai réussi qu'à obtenir les lignes communes (l'opposé de ce que
je
| > cherche à faire).
| >
| > Merci d'avance à ceux qui se pencheront sur mon cas ...
| >
| > Pataud.
| >
| >
| >
|
|
Avatar
garnote
Bonsoir,

Je suppose que tes valeurs sont en A2:G20 sur les feuilles
Feuil1 et Feuil2. Cette macro copie cöte à côte, sur la Feuil3,
les lignes qui ne sont pas identiques.
Est-ce mieux ainsi ?

Sub Copier()
Set un = Worksheets("Feuil1").[A2:G20]
Set deux = Worksheets("Feuil2").[A2:G20]
Set trois = Worksheets("Feuil3").[A2:G20]
Application.ScreenUpdating = False
NL = un.Rows.Count
NC = un.Columns.Count
For i = 1 To NL
For j = 1 To NC
If un(i, j) = deux(i, j) Then k = k + 1
Next j
If k <> 7 Then
s = s + 1
un.Rows(i).Copy trois.Rows(s)
deux.Rows(i).Copy trois.Rows(s).Offset(, NC + 1)
End If
k = 0
Next i
Application.ScreenUpdating = True
End Sub


Serge














"pataud" a écrit dans le message de news: 490f86b2$0$26562$
Bonsoir Serge,

Merci de ta réponse, et je suis désolé car j'ai du mal m'exprimer:
mes données se présentent en lignes (comme une base de données)
la premières ligne étant le nom des champs.
C'est certainement pour ça que je n'obtiens rien sur ''feuil3''

Pataud.


"garnote" a écrit dans le message de
news:
| Bonsoir,
|
| Supposons que tes données sont en A2:A10
| des feuilles Feuil1 et Feuill2.
| Cette macro copie sur les colonnes A et B de
| la Feuil3 les couples de valeurs distinctes :
|
| Sub Copier()
| Set un = Worksheets("Feuil1").[A2:A10]
| Set deux = Worksheets("Feuil2").[A2:A10]
| For i = 1 To 9
| If un(i) <> deux(i) Then
| k = k + 1
| Worksheets("Feuil3").Cells(k, 1) = un(i)
| Worksheets("Feuil3").Cells(k, 2) = deux(i)
| End If
| Next i
| End Sub
|
| Est-ce le résultat attendu ?
|
| Serge
|
|
|
| "pataud" a écrit dans le message de news:
490f5822$0$12025$
| > Bonsoir à tous,
| >
| > Pouvez vous m'aider à résoudre mon problème?
| >
| > J'ai 2 feuilles de calcul Excel (dont la première ligne comporte les
mêmes
| > en-têtes de colonnes) et que je voudrais comparer pour mettre en
évidence
| > les
| > lignes qui sont différentes, et les recopier dans une troisième feuille
par
| > exemple.
| > Je dispose de Office 2000 et j'ai tenté de créer une requête dans
Access,
| > mais je n'ai réussi qu'à obtenir les lignes communes (l'opposé de ce que
je
| > cherche à faire).
| >
| > Merci d'avance à ceux qui se pencheront sur mon cas ...
| >
| > Pataud.
| >
| >
| >
|
|





Avatar
pataud
Bonsoir Serge,

C'était ok... sauf que les feuille1 et feuille2 n'ont pas le même nombre de
lignes de telle sorte qu'il se produit un décalage.
Mon fichier est là: http://cjoint.com/?leuN04ZKbG si toutefois tu as
encore du temps à me consacrer.

Bonne nuit.

Pataud.

"garnote" a écrit dans le message de
news:
| Bonsoir,
|
| Je suppose que tes valeurs sont en A2:G20 sur les feuilles
| Feuil1 et Feuil2. Cette macro copie cöte à côte, sur la Feuil3,
| les lignes qui ne sont pas identiques.
| Est-ce mieux ainsi ?
|
| Sub Copier()
| Set un = Worksheets("Feuil1").[A2:G20]
| Set deux = Worksheets("Feuil2").[A2:G20]
| Set trois = Worksheets("Feuil3").[A2:G20]
| Application.ScreenUpdating = False
| NL = un.Rows.Count
| NC = un.Columns.Count
| For i = 1 To NL
| For j = 1 To NC
| If un(i, j) = deux(i, j) Then k = k + 1
| Next j
| If k <> 7 Then
| s = s + 1
| un.Rows(i).Copy trois.Rows(s)
| deux.Rows(i).Copy trois.Rows(s).Offset(, NC + 1)
| End If
| k = 0
| Next i
| Application.ScreenUpdating = True
| End Sub
|
|
| Serge
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| "pataud" a écrit dans le message de news:
490f86b2$0$26562$
| > Bonsoir Serge,
| >
| > Merci de ta réponse, et je suis désolé car j'ai du mal m'exprimer:
| > mes données se présentent en lignes (comme une base de données)
| > la premières ligne étant le nom des champs.
| > C'est certainement pour ça que je n'obtiens rien sur ''feuil3''
| >
| > Pataud.
| >
| >
| > "garnote" a écrit dans le message de
| > news:
| > | Bonsoir,
| > |
| > | Supposons que tes données sont en A2:A10
| > | des feuilles Feuil1 et Feuill2.
| > | Cette macro copie sur les colonnes A et B de
| > | la Feuil3 les couples de valeurs distinctes :
| > |
| > | Sub Copier()
| > | Set un = Worksheets("Feuil1").[A2:A10]
| > | Set deux = Worksheets("Feuil2").[A2:A10]
| > | For i = 1 To 9
| > | If un(i) <> deux(i) Then
| > | k = k + 1
| > | Worksheets("Feuil3").Cells(k, 1) = un(i)
| > | Worksheets("Feuil3").Cells(k, 2) = deux(i)
| > | End If
| > | Next i
| > | End Sub
| > |
| > | Est-ce le résultat attendu ?
| > |
| > | Serge
| > |
| > |
| > |
| > | "pataud" a écrit dans le message de news:
| > 490f5822$0$12025$
| > | > Bonsoir à tous,
| > | >
| > | > Pouvez vous m'aider à résoudre mon problème?
| > | >
| > | > J'ai 2 feuilles de calcul Excel (dont la première ligne comporte les
| > mêmes
| > | > en-têtes de colonnes) et que je voudrais comparer pour mettre en
| > évidence
| > | > les
| > | > lignes qui sont différentes, et les recopier dans une troisième
feuille
| > par
| > | > exemple.
| > | > Je dispose de Office 2000 et j'ai tenté de créer une requête dans
| > Access,
| > | > mais je n'ai réussi qu'à obtenir les lignes communes (l'opposé de ce
que
| > je
| > | > cherche à faire).
| > | >
| > | > Merci d'avance à ceux qui se pencheront sur mon cas ...
| > | >
| > | > Pataud.
| > | >
| > | >
| > | >
| > |
| > |
| >
| >
| >
|
|
Avatar
pataud
Bonsoir,

J'ai enfin résolu mon problème à l'aide d'Access, ''assistant de requête de
non correspondance''.

Pataud.

"pataud" a écrit dans le message de
news:4910c289$0$6027$
| Bonsoir Serge,
|
| C'était ok... sauf que les feuille1 et feuille2 n'ont pas le même nombre
de
| lignes de telle sorte qu'il se produit un décalage.
| Mon fichier est là: http://cjoint.com/?leuN04ZKbG si toutefois tu as
| encore du temps à me consacrer.
|
| Bonne nuit.
|
| Pataud.
|
| "garnote" a écrit dans le message de
| news:
| | Bonsoir,
| |
| | Je suppose que tes valeurs sont en A2:G20 sur les feuilles
| | Feuil1 et Feuil2. Cette macro copie cöte à côte, sur la Feuil3,
| | les lignes qui ne sont pas identiques.
| | Est-ce mieux ainsi ?
| |
| | Sub Copier()
| | Set un = Worksheets("Feuil1").[A2:G20]
| | Set deux = Worksheets("Feuil2").[A2:G20]
| | Set trois = Worksheets("Feuil3").[A2:G20]
| | Application.ScreenUpdating = False
| | NL = un.Rows.Count
| | NC = un.Columns.Count
| | For i = 1 To NL
| | For j = 1 To NC
| | If un(i, j) = deux(i, j) Then k = k + 1
| | Next j
| | If k <> 7 Then
| | s = s + 1
| | un.Rows(i).Copy trois.Rows(s)
| | deux.Rows(i).Copy trois.Rows(s).Offset(, NC + 1)
| | End If
| | k = 0
| | Next i
| | Application.ScreenUpdating = True
| | End Sub
| |
| |
| | Serge
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | "pataud" a écrit dans le message de news:
| 490f86b2$0$26562$
| | > Bonsoir Serge,
| | >
| | > Merci de ta réponse, et je suis désolé car j'ai du mal m'exprimer:
| | > mes données se présentent en lignes (comme une base de données)
| | > la premières ligne étant le nom des champs.
| | > C'est certainement pour ça que je n'obtiens rien sur ''feuil3''
| | >
| | > Pataud.
| | >
| | >
| | > "garnote" a écrit dans le message de
| | > news:
| | > | Bonsoir,
| | > |
| | > | Supposons que tes données sont en A2:A10
| | > | des feuilles Feuil1 et Feuill2.
| | > | Cette macro copie sur les colonnes A et B de
| | > | la Feuil3 les couples de valeurs distinctes :
| | > |
| | > | Sub Copier()
| | > | Set un = Worksheets("Feuil1").[A2:A10]
| | > | Set deux = Worksheets("Feuil2").[A2:A10]
| | > | For i = 1 To 9
| | > | If un(i) <> deux(i) Then
| | > | k = k + 1
| | > | Worksheets("Feuil3").Cells(k, 1) = un(i)
| | > | Worksheets("Feuil3").Cells(k, 2) = deux(i)
| | > | End If
| | > | Next i
| | > | End Sub
| | > |
| | > | Est-ce le résultat attendu ?
| | > |
| | > | Serge
| | > |
| | > |
| | > |
| | > | "pataud" a écrit dans le message de news:
| | > 490f5822$0$12025$
| | > | > Bonsoir à tous,
| | > | >
| | > | > Pouvez vous m'aider à résoudre mon problème?
| | > | >
| | > | > J'ai 2 feuilles de calcul Excel (dont la première ligne comporte
les
| | > mêmes
| | > | > en-têtes de colonnes) et que je voudrais comparer pour mettre en
| | > évidence
| | > | > les
| | > | > lignes qui sont différentes, et les recopier dans une troisième
| feuille
| | > par
| | > | > exemple.
| | > | > Je dispose de Office 2000 et j'ai tenté de créer une requête dans
| | > Access,
| | > | > mais je n'ai réussi qu'à obtenir les lignes communes (l'opposé de
ce
| que
| | > je
| | > | > cherche à faire).
| | > | >
| | > | > Merci d'avance à ceux qui se pencheront sur mon cas ...
| | > | >
| | > | > Pataud.
| | > | >
| | > | >
| | > | >
| | > |
| | > |
| | >
| | >
| | >
| |
| |
|
|
|