[Urgent] Tri de chiffres identiques dans 2 colonnes Excel
7 réponses
Wattie
Bonjour,
J'ai un problème à soummettre avec Excel et cela serait sympa de m'aider :
J'ai deux colonnes de chiffres (entre 2000 et 3000 lignes).
J'aimerais faire apparaitre dans une troisième colonne, les chiffres qui
sont en commun aux colonnes 1 et 2.
De même, j'aimerais ensuite faire apparaitre la colonne 1 (et 2) sans les
chiffres communs à 1 et 2.
Est-il possible de refaire ensuite cette meme manip sur 3 colonnes?
Existe t-il une macro pour faire ça ? Je ne sais pas en faire...
C'est pour mon boulot et je suis bloquée à l'heure actuelle, du moins je
compte et tri
à l'oeil mais c'est pas très précis...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonjour. Pour lister les doublons en colonne C :
Sub ListeDoublons() Dim Ligne As Long, c As Range, Col As Integer Dim Plage As Range Ligne = 1 Set Plage = Union(Range("A1", Range("A65536").End(xlUp)), _ Range("B1", Range("B65536").End(xlUp))) For Each c In Plage If IsError(Application.Match(c, [C:C], 0)) Then If Application.CountIf(Plage, c) > 1 Then Cells(Ligne, 3) = c Ligne = Ligne + 1 End If End If Next c End Sub
Pour les supprimer ensuite (les doublons doivent être listés en colonne C) :
Sub SuppressionDoublons() Dim c As Range, Plage As Range For x = 1 To 2 For i = Cells(65536, x).End(xlUp).Row To 1 Step -1 If IsNumeric(Application.Match(Cells(i, x), [C:C], 0)) Then Cells(i, x).Delete xlShiftUp End If Next i Next x End Sub
Cordialement. Daniel "Wattie" a écrit dans le message de news: 46e912ed$0$4466$
Bonjour,
J'ai un problème à soummettre avec Excel et cela serait sympa de m'aider :
J'ai deux colonnes de chiffres (entre 2000 et 3000 lignes). J'aimerais faire apparaitre dans une troisième colonne, les chiffres qui sont en commun aux colonnes 1 et 2.
De même, j'aimerais ensuite faire apparaitre la colonne 1 (et 2) sans les chiffres communs à 1 et 2.
Est-il possible de refaire ensuite cette meme manip sur 3 colonnes?
Existe t-il une macro pour faire ça ? Je ne sais pas en faire...
C'est pour mon boulot et je suis bloquée à l'heure actuelle, du moins je compte et tri à l'oeil mais c'est pas très précis...
Merci pour toute aide rapide.
Laurette. Configuration: Mac OS X Firefox 2.0.0.6
Bonjour.
Pour lister les doublons en colonne C :
Sub ListeDoublons()
Dim Ligne As Long, c As Range, Col As Integer
Dim Plage As Range
Ligne = 1
Set Plage = Union(Range("A1", Range("A65536").End(xlUp)), _
Range("B1", Range("B65536").End(xlUp)))
For Each c In Plage
If IsError(Application.Match(c, [C:C], 0)) Then
If Application.CountIf(Plage, c) > 1 Then
Cells(Ligne, 3) = c
Ligne = Ligne + 1
End If
End If
Next c
End Sub
Pour les supprimer ensuite (les doublons doivent être listés en colonne C) :
Sub SuppressionDoublons()
Dim c As Range, Plage As Range
For x = 1 To 2
For i = Cells(65536, x).End(xlUp).Row To 1 Step -1
If IsNumeric(Application.Match(Cells(i, x), [C:C], 0)) Then
Cells(i, x).Delete xlShiftUp
End If
Next i
Next x
End Sub
Cordialement.
Daniel
"Wattie" <deadend@nofreakingspamfree.fr> a écrit dans le message de news:
46e912ed$0$4466$426a74cc@news.free.fr...
Bonjour,
J'ai un problème à soummettre avec Excel et cela serait sympa de m'aider :
J'ai deux colonnes de chiffres (entre 2000 et 3000 lignes).
J'aimerais faire apparaitre dans une troisième colonne, les chiffres qui
sont en commun aux colonnes 1 et 2.
De même, j'aimerais ensuite faire apparaitre la colonne 1 (et 2) sans les
chiffres communs à 1 et 2.
Est-il possible de refaire ensuite cette meme manip sur 3 colonnes?
Existe t-il une macro pour faire ça ? Je ne sais pas en faire...
C'est pour mon boulot et je suis bloquée à l'heure actuelle, du moins je
compte et tri
à l'oeil mais c'est pas très précis...
Sub ListeDoublons() Dim Ligne As Long, c As Range, Col As Integer Dim Plage As Range Ligne = 1 Set Plage = Union(Range("A1", Range("A65536").End(xlUp)), _ Range("B1", Range("B65536").End(xlUp))) For Each c In Plage If IsError(Application.Match(c, [C:C], 0)) Then If Application.CountIf(Plage, c) > 1 Then Cells(Ligne, 3) = c Ligne = Ligne + 1 End If End If Next c End Sub
Pour les supprimer ensuite (les doublons doivent être listés en colonne C) :
Sub SuppressionDoublons() Dim c As Range, Plage As Range For x = 1 To 2 For i = Cells(65536, x).End(xlUp).Row To 1 Step -1 If IsNumeric(Application.Match(Cells(i, x), [C:C], 0)) Then Cells(i, x).Delete xlShiftUp End If Next i Next x End Sub
Cordialement. Daniel "Wattie" a écrit dans le message de news: 46e912ed$0$4466$
Bonjour,
J'ai un problème à soummettre avec Excel et cela serait sympa de m'aider :
J'ai deux colonnes de chiffres (entre 2000 et 3000 lignes). J'aimerais faire apparaitre dans une troisième colonne, les chiffres qui sont en commun aux colonnes 1 et 2.
De même, j'aimerais ensuite faire apparaitre la colonne 1 (et 2) sans les chiffres communs à 1 et 2.
Est-il possible de refaire ensuite cette meme manip sur 3 colonnes?
Existe t-il une macro pour faire ça ? Je ne sais pas en faire...
C'est pour mon boulot et je suis bloquée à l'heure actuelle, du moins je compte et tri à l'oeil mais c'est pas très précis...
Merci pour toute aide rapide.
Laurette. Configuration: Mac OS X Firefox 2.0.0.6
JB
Bonjour,
Function InterSectionTriée(a As Range, b As Range) Dim temp() k = 0 For i = 1 To a.Count For j = 1 To b.Count If a(i) = b(j) And a(i) <> "" And b(j) <> "" Then ReDim Preserve temp(0 To k) temp(k) = a(i) k = k + 1 End If Next j Next i Call tri(temp, 0, k - 1) InterSectionTriée = Application.Transpose(temp) End Function
Function FusionTriée(a As Range, b As Range) Dim temp() k = 0 For i = 1 To a.Count If a(i) <> "" Then ReDim Preserve temp(0 To k) temp(k) = a(i) k = k + 1 End If Next i For i = 1 To b.Count If IsError(Application.Match(b(i), a, 0)) And b(i) <> "" Then ReDim Preserve temp(k) temp(k) = b(i) k = k + 1 End If Next i Call tri(temp, 0, k - 1) FusionTriée = Application.Transpose(temp) End Function
Sub tri(a(), gauc, droi) ' Quick sort ref = a((gauc + droi) 2) g = gauc: d = droi Do Do While a(g) < ref: g = g + 1: Loop Do While ref < a(d): d = d - 1: Loop If g <= d Then temp = a(g): a(g) = a(d): a(d) = temp g = g + 1: d = d - 1 End If Loop While g <= d If g < droi Then Call tri(a, g, droi) If gauc < d Then Call tri(a, gauc, d) End Sub
Function DiffTriée(a As Range, b As Range) Dim temp() k = 0 For i = 1 To a.Count If IsError(Application.Match(a(i), b, 0)) And a(i) <> "" Then ReDim Preserve temp(k) temp(k) = a(i) k = k + 1 End If Next i Call tri(temp, 0, k - 1) DiffTriée = Application.Transpose(temp) End Function
J'ai un problème à soummettre avec Excel et cela serait sympa de m'ai der :
J'ai deux colonnes de chiffres (entre 2000 et 3000 lignes). J'aimerais faire apparaitre dans une troisième colonne, les chiffres qui sont en commun aux colonnes 1 et 2.
De même, j'aimerais ensuite faire apparaitre la colonne 1 (et 2) sans l es chiffres communs à 1 et 2.
Est-il possible de refaire ensuite cette meme manip sur 3 colonnes?
Existe t-il une macro pour faire ça ? Je ne sais pas en faire...
C'est pour mon boulot et je suis bloquée à l'heure actuelle, du moins je compte et tri à l'oeil mais c'est pas très précis...
Merci pour toute aide rapide.
Laurette. Configuration: Mac OS X Firefox 2.0.0.6
Bonjour,
Function InterSectionTriée(a As Range, b As Range)
Dim temp()
k = 0
For i = 1 To a.Count
For j = 1 To b.Count
If a(i) = b(j) And a(i) <> "" And b(j) <> "" Then
ReDim Preserve temp(0 To k)
temp(k) = a(i)
k = k + 1
End If
Next j
Next i
Call tri(temp, 0, k - 1)
InterSectionTriée = Application.Transpose(temp)
End Function
Function FusionTriée(a As Range, b As Range)
Dim temp()
k = 0
For i = 1 To a.Count
If a(i) <> "" Then
ReDim Preserve temp(0 To k)
temp(k) = a(i)
k = k + 1
End If
Next i
For i = 1 To b.Count
If IsError(Application.Match(b(i), a, 0)) And b(i) <> "" Then
ReDim Preserve temp(k)
temp(k) = b(i)
k = k + 1
End If
Next i
Call tri(temp, 0, k - 1)
FusionTriée = Application.Transpose(temp)
End Function
Sub tri(a(), gauc, droi) ' Quick sort
ref = a((gauc + droi) 2)
g = gauc: d = droi
Do
Do While a(g) < ref: g = g + 1: Loop
Do While ref < a(d): d = d - 1: Loop
If g <= d Then
temp = a(g): a(g) = a(d): a(d) = temp
g = g + 1: d = d - 1
End If
Loop While g <= d
If g < droi Then Call tri(a, g, droi)
If gauc < d Then Call tri(a, gauc, d)
End Sub
Function DiffTriée(a As Range, b As Range)
Dim temp()
k = 0
For i = 1 To a.Count
If IsError(Application.Match(a(i), b, 0)) And a(i) <> "" Then
ReDim Preserve temp(k)
temp(k) = a(i)
k = k + 1
End If
Next i
Call tri(temp, 0, k - 1)
DiffTriée = Application.Transpose(temp)
End Function
On 13 sep, 12:37, "Wattie" <dead...@nofreakingspamfree.fr> wrote:
Bonjour,
J'ai un problème à soummettre avec Excel et cela serait sympa de m'ai der :
J'ai deux colonnes de chiffres (entre 2000 et 3000 lignes).
J'aimerais faire apparaitre dans une troisième colonne, les chiffres qui
sont en commun aux colonnes 1 et 2.
De même, j'aimerais ensuite faire apparaitre la colonne 1 (et 2) sans l es
chiffres communs à 1 et 2.
Est-il possible de refaire ensuite cette meme manip sur 3 colonnes?
Existe t-il une macro pour faire ça ? Je ne sais pas en faire...
C'est pour mon boulot et je suis bloquée à l'heure actuelle, du moins je
compte et tri
à l'oeil mais c'est pas très précis...
Function InterSectionTriée(a As Range, b As Range) Dim temp() k = 0 For i = 1 To a.Count For j = 1 To b.Count If a(i) = b(j) And a(i) <> "" And b(j) <> "" Then ReDim Preserve temp(0 To k) temp(k) = a(i) k = k + 1 End If Next j Next i Call tri(temp, 0, k - 1) InterSectionTriée = Application.Transpose(temp) End Function
Function FusionTriée(a As Range, b As Range) Dim temp() k = 0 For i = 1 To a.Count If a(i) <> "" Then ReDim Preserve temp(0 To k) temp(k) = a(i) k = k + 1 End If Next i For i = 1 To b.Count If IsError(Application.Match(b(i), a, 0)) And b(i) <> "" Then ReDim Preserve temp(k) temp(k) = b(i) k = k + 1 End If Next i Call tri(temp, 0, k - 1) FusionTriée = Application.Transpose(temp) End Function
Sub tri(a(), gauc, droi) ' Quick sort ref = a((gauc + droi) 2) g = gauc: d = droi Do Do While a(g) < ref: g = g + 1: Loop Do While ref < a(d): d = d - 1: Loop If g <= d Then temp = a(g): a(g) = a(d): a(d) = temp g = g + 1: d = d - 1 End If Loop While g <= d If g < droi Then Call tri(a, g, droi) If gauc < d Then Call tri(a, gauc, d) End Sub
Function DiffTriée(a As Range, b As Range) Dim temp() k = 0 For i = 1 To a.Count If IsError(Application.Match(a(i), b, 0)) And a(i) <> "" Then ReDim Preserve temp(k) temp(k) = a(i) k = k + 1 End If Next i Call tri(temp, 0, k - 1) DiffTriée = Application.Transpose(temp) End Function
J'ai un problème à soummettre avec Excel et cela serait sympa de m'ai der :
J'ai deux colonnes de chiffres (entre 2000 et 3000 lignes). J'aimerais faire apparaitre dans une troisième colonne, les chiffres qui sont en commun aux colonnes 1 et 2.
De même, j'aimerais ensuite faire apparaitre la colonne 1 (et 2) sans l es chiffres communs à 1 et 2.
Est-il possible de refaire ensuite cette meme manip sur 3 colonnes?
Existe t-il une macro pour faire ça ? Je ne sais pas en faire...
C'est pour mon boulot et je suis bloquée à l'heure actuelle, du moins je compte et tri à l'oeil mais c'est pas très précis...
Merci pour toute aide rapide.
Laurette. Configuration: Mac OS X Firefox 2.0.0.6
Daniel.C
J'espère que ça fonctionne sur Mac. Sur PC, pour coller les macros, tu fais ALT+F11 ou Outils / Macro / Visual Basic Editor Daniel "Daniel.C" a écrit dans le message de news:
Bonjour. Pour lister les doublons en colonne C :
Sub ListeDoublons() Dim Ligne As Long, c As Range, Col As Integer Dim Plage As Range Ligne = 1 Set Plage = Union(Range("A1", Range("A65536").End(xlUp)), _ Range("B1", Range("B65536").End(xlUp))) For Each c In Plage If IsError(Application.Match(c, [C:C], 0)) Then If Application.CountIf(Plage, c) > 1 Then Cells(Ligne, 3) = c Ligne = Ligne + 1 End If End If Next c End Sub
Pour les supprimer ensuite (les doublons doivent être listés en colonne C) :
Sub SuppressionDoublons() Dim c As Range, Plage As Range For x = 1 To 2 For i = Cells(65536, x).End(xlUp).Row To 1 Step -1 If IsNumeric(Application.Match(Cells(i, x), [C:C], 0)) Then Cells(i, x).Delete xlShiftUp End If Next i Next x End Sub
Cordialement. Daniel "Wattie" a écrit dans le message de news: 46e912ed$0$4466$
Bonjour,
J'ai un problème à soummettre avec Excel et cela serait sympa de m'aider :
J'ai deux colonnes de chiffres (entre 2000 et 3000 lignes). J'aimerais faire apparaitre dans une troisième colonne, les chiffres qui sont en commun aux colonnes 1 et 2.
De même, j'aimerais ensuite faire apparaitre la colonne 1 (et 2) sans les chiffres communs à 1 et 2.
Est-il possible de refaire ensuite cette meme manip sur 3 colonnes?
Existe t-il une macro pour faire ça ? Je ne sais pas en faire...
C'est pour mon boulot et je suis bloquée à l'heure actuelle, du moins je compte et tri à l'oeil mais c'est pas très précis...
Merci pour toute aide rapide.
Laurette. Configuration: Mac OS X Firefox 2.0.0.6
J'espère que ça fonctionne sur Mac.
Sur PC, pour coller les macros, tu fais ALT+F11 ou Outils / Macro / Visual
Basic Editor
Daniel
"Daniel.C" <dZZZcolardelle@free.fr> a écrit dans le message de news:
ug18gjf9HHA.3548@TK2MSFTNGP06.phx.gbl...
Bonjour.
Pour lister les doublons en colonne C :
Sub ListeDoublons()
Dim Ligne As Long, c As Range, Col As Integer
Dim Plage As Range
Ligne = 1
Set Plage = Union(Range("A1", Range("A65536").End(xlUp)), _
Range("B1", Range("B65536").End(xlUp)))
For Each c In Plage
If IsError(Application.Match(c, [C:C], 0)) Then
If Application.CountIf(Plage, c) > 1 Then
Cells(Ligne, 3) = c
Ligne = Ligne + 1
End If
End If
Next c
End Sub
Pour les supprimer ensuite (les doublons doivent être listés en colonne C)
:
Sub SuppressionDoublons()
Dim c As Range, Plage As Range
For x = 1 To 2
For i = Cells(65536, x).End(xlUp).Row To 1 Step -1
If IsNumeric(Application.Match(Cells(i, x), [C:C], 0)) Then
Cells(i, x).Delete xlShiftUp
End If
Next i
Next x
End Sub
Cordialement.
Daniel
"Wattie" <deadend@nofreakingspamfree.fr> a écrit dans le message de news:
46e912ed$0$4466$426a74cc@news.free.fr...
Bonjour,
J'ai un problème à soummettre avec Excel et cela serait sympa de m'aider
:
J'ai deux colonnes de chiffres (entre 2000 et 3000 lignes).
J'aimerais faire apparaitre dans une troisième colonne, les chiffres qui
sont en commun aux colonnes 1 et 2.
De même, j'aimerais ensuite faire apparaitre la colonne 1 (et 2) sans les
chiffres communs à 1 et 2.
Est-il possible de refaire ensuite cette meme manip sur 3 colonnes?
Existe t-il une macro pour faire ça ? Je ne sais pas en faire...
C'est pour mon boulot et je suis bloquée à l'heure actuelle, du moins je
compte et tri
à l'oeil mais c'est pas très précis...
J'espère que ça fonctionne sur Mac. Sur PC, pour coller les macros, tu fais ALT+F11 ou Outils / Macro / Visual Basic Editor Daniel "Daniel.C" a écrit dans le message de news:
Bonjour. Pour lister les doublons en colonne C :
Sub ListeDoublons() Dim Ligne As Long, c As Range, Col As Integer Dim Plage As Range Ligne = 1 Set Plage = Union(Range("A1", Range("A65536").End(xlUp)), _ Range("B1", Range("B65536").End(xlUp))) For Each c In Plage If IsError(Application.Match(c, [C:C], 0)) Then If Application.CountIf(Plage, c) > 1 Then Cells(Ligne, 3) = c Ligne = Ligne + 1 End If End If Next c End Sub
Pour les supprimer ensuite (les doublons doivent être listés en colonne C) :
Sub SuppressionDoublons() Dim c As Range, Plage As Range For x = 1 To 2 For i = Cells(65536, x).End(xlUp).Row To 1 Step -1 If IsNumeric(Application.Match(Cells(i, x), [C:C], 0)) Then Cells(i, x).Delete xlShiftUp End If Next i Next x End Sub
Cordialement. Daniel "Wattie" a écrit dans le message de news: 46e912ed$0$4466$
Bonjour,
J'ai un problème à soummettre avec Excel et cela serait sympa de m'aider :
J'ai deux colonnes de chiffres (entre 2000 et 3000 lignes). J'aimerais faire apparaitre dans une troisième colonne, les chiffres qui sont en commun aux colonnes 1 et 2.
De même, j'aimerais ensuite faire apparaitre la colonne 1 (et 2) sans les chiffres communs à 1 et 2.
Est-il possible de refaire ensuite cette meme manip sur 3 colonnes?
Existe t-il une macro pour faire ça ? Je ne sais pas en faire...
C'est pour mon boulot et je suis bloquée à l'heure actuelle, du moins je compte et tri à l'oeil mais c'est pas très précis...
Merci pour toute aide rapide.
Laurette. Configuration: Mac OS X Firefox 2.0.0.6
MichDenis
Une façon rapide de le faire :
Dans l'exemple suivant : Le nom de l'onglet de la feuille est : Feuil1 Les 2 colonnes de données sont A1:A5 et B1:B5
Résultat obtenu : En colonne C -> les chiffres qui sont identiques au deux colonnes En colonne D -> Chiffres de la colonne A qui n'existent pas en colonne B En colonne E -> Chiffres de la colonne B qui n'existent pas en colonne A
Il ne te reste plus qu'à adapter les plages de cellules qui correspondent à ton application dans les formules.
'-------------------------------------- Sub test() On Error Resume Next Application.ScreenUpdating = False With Worksheets("Feuil1") With .Range("C1:C5") .Formula = "=IF(ISNUMBER(MATCH(" & _ .Rows(1).Offset(, -1).Address(0, 0) & _ ",$A$1:$A$5,0))," & _ .Rows(1).Offset(, -1).Address(0, 0) & ","""")" End With With .Range("D1:D5") .Formula = "=IF(ISNA(MATCH(" & _ .Rows(1).Offset(, -3).Address(0, 0) & _ ",$B$1:$B$5,0))," & _ .Rows(1).Offset(, -3).Address(0, 0) & ","""")" End With With .Range("E1:E5") .Formula = "=IF(ISNA(MATCH(" & _ .Rows(1).Offset(, -3).Address(0, 0) & _ " ,$A$1:$A$5,0))," & _ .Rows(1).Offset(, -3).Address(0, 0) & ","""")" End With With Range("C1:E5") .Value = .Value .SpecialCells(xlCellTypeBlanks).Delete (xlUp) End With End With
End Sub '--------------------------------------
Une façon rapide de le faire :
Dans l'exemple suivant :
Le nom de l'onglet de la feuille est : Feuil1
Les 2 colonnes de données sont A1:A5 et B1:B5
Résultat obtenu :
En colonne C -> les chiffres qui sont identiques au deux colonnes
En colonne D -> Chiffres de la colonne A qui n'existent pas en colonne B
En colonne E -> Chiffres de la colonne B qui n'existent pas en colonne A
Il ne te reste plus qu'à adapter les plages de cellules qui correspondent
à ton application dans les formules.
'--------------------------------------
Sub test()
On Error Resume Next
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("C1:C5")
.Formula = "=IF(ISNUMBER(MATCH(" & _
.Rows(1).Offset(, -1).Address(0, 0) & _
",$A$1:$A$5,0))," & _
.Rows(1).Offset(, -1).Address(0, 0) & ","""")"
End With
With .Range("D1:D5")
.Formula = "=IF(ISNA(MATCH(" & _
.Rows(1).Offset(, -3).Address(0, 0) & _
",$B$1:$B$5,0))," & _
.Rows(1).Offset(, -3).Address(0, 0) & ","""")"
End With
With .Range("E1:E5")
.Formula = "=IF(ISNA(MATCH(" & _
.Rows(1).Offset(, -3).Address(0, 0) & _
" ,$A$1:$A$5,0))," & _
.Rows(1).Offset(, -3).Address(0, 0) & ","""")"
End With
With Range("C1:E5")
.Value = .Value
.SpecialCells(xlCellTypeBlanks).Delete (xlUp)
End With
End With
Dans l'exemple suivant : Le nom de l'onglet de la feuille est : Feuil1 Les 2 colonnes de données sont A1:A5 et B1:B5
Résultat obtenu : En colonne C -> les chiffres qui sont identiques au deux colonnes En colonne D -> Chiffres de la colonne A qui n'existent pas en colonne B En colonne E -> Chiffres de la colonne B qui n'existent pas en colonne A
Il ne te reste plus qu'à adapter les plages de cellules qui correspondent à ton application dans les formules.
'-------------------------------------- Sub test() On Error Resume Next Application.ScreenUpdating = False With Worksheets("Feuil1") With .Range("C1:C5") .Formula = "=IF(ISNUMBER(MATCH(" & _ .Rows(1).Offset(, -1).Address(0, 0) & _ ",$A$1:$A$5,0))," & _ .Rows(1).Offset(, -1).Address(0, 0) & ","""")" End With With .Range("D1:D5") .Formula = "=IF(ISNA(MATCH(" & _ .Rows(1).Offset(, -3).Address(0, 0) & _ ",$B$1:$B$5,0))," & _ .Rows(1).Offset(, -3).Address(0, 0) & ","""")" End With With .Range("E1:E5") .Formula = "=IF(ISNA(MATCH(" & _ .Rows(1).Offset(, -3).Address(0, 0) & _ " ,$A$1:$A$5,0))," & _ .Rows(1).Offset(, -3).Address(0, 0) & ","""")" End With With Range("C1:E5") .Value = .Value .SpecialCells(xlCellTypeBlanks).Delete (xlUp) End With End With
End Sub '--------------------------------------
MichDenis
Le fichier décrivant cette exemple au besoin :
http://cjoint.com/?jnorPbvzKK
"MichDenis" a écrit dans le message de news: OR6se% Une façon rapide de le faire :
Dans l'exemple suivant : Le nom de l'onglet de la feuille est : Feuil1 Les 2 colonnes de données sont A1:A5 et B1:B5
Résultat obtenu : En colonne C -> les chiffres qui sont identiques au deux colonnes En colonne D -> Chiffres de la colonne A qui n'existent pas en colonne B En colonne E -> Chiffres de la colonne B qui n'existent pas en colonne A
Il ne te reste plus qu'à adapter les plages de cellules qui correspondent à ton application dans les formules.
'-------------------------------------- Sub test() On Error Resume Next Application.ScreenUpdating = False With Worksheets("Feuil1") With .Range("C1:C5") .Formula = "=IF(ISNUMBER(MATCH(" & _ .Rows(1).Offset(, -1).Address(0, 0) & _ ",$A$1:$A$5,0))," & _ .Rows(1).Offset(, -1).Address(0, 0) & ","""")" End With With .Range("D1:D5") .Formula = "=IF(ISNA(MATCH(" & _ .Rows(1).Offset(, -3).Address(0, 0) & _ ",$B$1:$B$5,0))," & _ .Rows(1).Offset(, -3).Address(0, 0) & ","""")" End With With .Range("E1:E5") .Formula = "=IF(ISNA(MATCH(" & _ .Rows(1).Offset(, -3).Address(0, 0) & _ " ,$A$1:$A$5,0))," & _ .Rows(1).Offset(, -3).Address(0, 0) & ","""")" End With With Range("C1:E5") .Value = .Value .SpecialCells(xlCellTypeBlanks).Delete (xlUp) End With End With
End Sub '--------------------------------------
Le fichier décrivant cette exemple au besoin :
http://cjoint.com/?jnorPbvzKK
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
OR6se%23f9HHA.5424@TK2MSFTNGP02.phx.gbl...
Une façon rapide de le faire :
Dans l'exemple suivant :
Le nom de l'onglet de la feuille est : Feuil1
Les 2 colonnes de données sont A1:A5 et B1:B5
Résultat obtenu :
En colonne C -> les chiffres qui sont identiques au deux colonnes
En colonne D -> Chiffres de la colonne A qui n'existent pas en colonne B
En colonne E -> Chiffres de la colonne B qui n'existent pas en colonne A
Il ne te reste plus qu'à adapter les plages de cellules qui correspondent
à ton application dans les formules.
'--------------------------------------
Sub test()
On Error Resume Next
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("C1:C5")
.Formula = "=IF(ISNUMBER(MATCH(" & _
.Rows(1).Offset(, -1).Address(0, 0) & _
",$A$1:$A$5,0))," & _
.Rows(1).Offset(, -1).Address(0, 0) & ","""")"
End With
With .Range("D1:D5")
.Formula = "=IF(ISNA(MATCH(" & _
.Rows(1).Offset(, -3).Address(0, 0) & _
",$B$1:$B$5,0))," & _
.Rows(1).Offset(, -3).Address(0, 0) & ","""")"
End With
With .Range("E1:E5")
.Formula = "=IF(ISNA(MATCH(" & _
.Rows(1).Offset(, -3).Address(0, 0) & _
" ,$A$1:$A$5,0))," & _
.Rows(1).Offset(, -3).Address(0, 0) & ","""")"
End With
With Range("C1:E5")
.Value = .Value
.SpecialCells(xlCellTypeBlanks).Delete (xlUp)
End With
End With
"MichDenis" a écrit dans le message de news: OR6se% Une façon rapide de le faire :
Dans l'exemple suivant : Le nom de l'onglet de la feuille est : Feuil1 Les 2 colonnes de données sont A1:A5 et B1:B5
Résultat obtenu : En colonne C -> les chiffres qui sont identiques au deux colonnes En colonne D -> Chiffres de la colonne A qui n'existent pas en colonne B En colonne E -> Chiffres de la colonne B qui n'existent pas en colonne A
Il ne te reste plus qu'à adapter les plages de cellules qui correspondent à ton application dans les formules.
'-------------------------------------- Sub test() On Error Resume Next Application.ScreenUpdating = False With Worksheets("Feuil1") With .Range("C1:C5") .Formula = "=IF(ISNUMBER(MATCH(" & _ .Rows(1).Offset(, -1).Address(0, 0) & _ ",$A$1:$A$5,0))," & _ .Rows(1).Offset(, -1).Address(0, 0) & ","""")" End With With .Range("D1:D5") .Formula = "=IF(ISNA(MATCH(" & _ .Rows(1).Offset(, -3).Address(0, 0) & _ ",$B$1:$B$5,0))," & _ .Rows(1).Offset(, -3).Address(0, 0) & ","""")" End With With .Range("E1:E5") .Formula = "=IF(ISNA(MATCH(" & _ .Rows(1).Offset(, -3).Address(0, 0) & _ " ,$A$1:$A$5,0))," & _ .Rows(1).Offset(, -3).Address(0, 0) & ","""")" End With With Range("C1:E5") .Value = .Value .SpecialCells(xlCellTypeBlanks).Delete (xlUp) End With End With
End Sub '--------------------------------------
Wattie
Merci à tous pour votre aide...
C'est pour ma femme en fait qui a essayé quelques trucs qui focntionne mais ralentisse bcp le MAC apparement... Elle ne sait pas trop comment faire marcher ces macros, c'est bien des macros ?
Elle va essayer cette derniere methode et je vous tiens au courant. En tout cas merci bcp pour votre aide précieuse.
Wattie pour Laurette
"MichDenis" a écrit dans le message de news:
Le fichier décrivant cette exemple au besoin :
http://cjoint.com/?jnorPbvzKK
"MichDenis" a écrit dans le message de news: OR6se% Une façon rapide de le faire :
Dans l'exemple suivant : Le nom de l'onglet de la feuille est : Feuil1 Les 2 colonnes de données sont A1:A5 et B1:B5
Résultat obtenu : En colonne C -> les chiffres qui sont identiques au deux colonnes En colonne D -> Chiffres de la colonne A qui n'existent pas en colonne B En colonne E -> Chiffres de la colonne B qui n'existent pas en colonne A
Il ne te reste plus qu'à adapter les plages de cellules qui correspondent à ton application dans les formules.
'-------------------------------------- Sub test() On Error Resume Next Application.ScreenUpdating = False With Worksheets("Feuil1") With .Range("C1:C5") .Formula = "=IF(ISNUMBER(MATCH(" & _ .Rows(1).Offset(, -1).Address(0, 0) & _ ",$A$1:$A$5,0))," & _ .Rows(1).Offset(, -1).Address(0, 0) & ","""")" End With With .Range("D1:D5") .Formula = "=IF(ISNA(MATCH(" & _ .Rows(1).Offset(, -3).Address(0, 0) & _ ",$B$1:$B$5,0))," & _ .Rows(1).Offset(, -3).Address(0, 0) & ","""")" End With With .Range("E1:E5") .Formula = "=IF(ISNA(MATCH(" & _ .Rows(1).Offset(, -3).Address(0, 0) & _ " ,$A$1:$A$5,0))," & _ .Rows(1).Offset(, -3).Address(0, 0) & ","""")" End With With Range("C1:E5") .Value = .Value .SpecialCells(xlCellTypeBlanks).Delete (xlUp) End With End With
End Sub '--------------------------------------
Merci à tous pour votre aide...
C'est pour ma femme en fait qui a essayé quelques trucs qui focntionne mais
ralentisse bcp le MAC apparement...
Elle ne sait pas trop comment faire marcher ces macros, c'est bien des
macros ?
Elle va essayer cette derniere methode et je vous tiens au courant.
En tout cas merci bcp pour votre aide précieuse.
Wattie pour Laurette
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uQKE0Ag9HHA.1212@TK2MSFTNGP05.phx.gbl...
Le fichier décrivant cette exemple au besoin :
http://cjoint.com/?jnorPbvzKK
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
OR6se%23f9HHA.5424@TK2MSFTNGP02.phx.gbl...
Une façon rapide de le faire :
Dans l'exemple suivant :
Le nom de l'onglet de la feuille est : Feuil1
Les 2 colonnes de données sont A1:A5 et B1:B5
Résultat obtenu :
En colonne C -> les chiffres qui sont identiques au deux colonnes
En colonne D -> Chiffres de la colonne A qui n'existent pas en colonne B
En colonne E -> Chiffres de la colonne B qui n'existent pas en colonne A
Il ne te reste plus qu'à adapter les plages de cellules qui correspondent
à ton application dans les formules.
'--------------------------------------
Sub test()
On Error Resume Next
Application.ScreenUpdating = False
With Worksheets("Feuil1")
With .Range("C1:C5")
.Formula = "=IF(ISNUMBER(MATCH(" & _
.Rows(1).Offset(, -1).Address(0, 0) & _
",$A$1:$A$5,0))," & _
.Rows(1).Offset(, -1).Address(0, 0) & ","""")"
End With
With .Range("D1:D5")
.Formula = "=IF(ISNA(MATCH(" & _
.Rows(1).Offset(, -3).Address(0, 0) & _
",$B$1:$B$5,0))," & _
.Rows(1).Offset(, -3).Address(0, 0) & ","""")"
End With
With .Range("E1:E5")
.Formula = "=IF(ISNA(MATCH(" & _
.Rows(1).Offset(, -3).Address(0, 0) & _
" ,$A$1:$A$5,0))," & _
.Rows(1).Offset(, -3).Address(0, 0) & ","""")"
End With
With Range("C1:E5")
.Value = .Value
.SpecialCells(xlCellTypeBlanks).Delete (xlUp)
End With
End With
C'est pour ma femme en fait qui a essayé quelques trucs qui focntionne mais ralentisse bcp le MAC apparement... Elle ne sait pas trop comment faire marcher ces macros, c'est bien des macros ?
Elle va essayer cette derniere methode et je vous tiens au courant. En tout cas merci bcp pour votre aide précieuse.
Wattie pour Laurette
"MichDenis" a écrit dans le message de news:
Le fichier décrivant cette exemple au besoin :
http://cjoint.com/?jnorPbvzKK
"MichDenis" a écrit dans le message de news: OR6se% Une façon rapide de le faire :
Dans l'exemple suivant : Le nom de l'onglet de la feuille est : Feuil1 Les 2 colonnes de données sont A1:A5 et B1:B5
Résultat obtenu : En colonne C -> les chiffres qui sont identiques au deux colonnes En colonne D -> Chiffres de la colonne A qui n'existent pas en colonne B En colonne E -> Chiffres de la colonne B qui n'existent pas en colonne A
Il ne te reste plus qu'à adapter les plages de cellules qui correspondent à ton application dans les formules.
'-------------------------------------- Sub test() On Error Resume Next Application.ScreenUpdating = False With Worksheets("Feuil1") With .Range("C1:C5") .Formula = "=IF(ISNUMBER(MATCH(" & _ .Rows(1).Offset(, -1).Address(0, 0) & _ ",$A$1:$A$5,0))," & _ .Rows(1).Offset(, -1).Address(0, 0) & ","""")" End With With .Range("D1:D5") .Formula = "=IF(ISNA(MATCH(" & _ .Rows(1).Offset(, -3).Address(0, 0) & _ ",$B$1:$B$5,0))," & _ .Rows(1).Offset(, -3).Address(0, 0) & ","""")" End With With .Range("E1:E5") .Formula = "=IF(ISNA(MATCH(" & _ .Rows(1).Offset(, -3).Address(0, 0) & _ " ,$A$1:$A$5,0))," & _ .Rows(1).Offset(, -3).Address(0, 0) & ","""")" End With With Range("C1:E5") .Value = .Value .SpecialCells(xlCellTypeBlanks).Delete (xlUp) End With End With
End Sub '--------------------------------------
Wattie
Merci encore, ta solution a super bien focntionné ;cÞ
Et merci aussi aux autres...
Wattie
"MichDenis" a écrit dans le message de news:
Le fichier décrivant cette exemple au besoin :
http://cjoint.com/?jnorPbvzKK
Merci encore, ta solution a super bien focntionné ;cÞ
Et merci aussi aux autres...
Wattie
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uQKE0Ag9HHA.1212@TK2MSFTNGP05.phx.gbl...