Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client" automatiquement.
Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0, 6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client" automatiquement.
Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0, 6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client" automatiquement.
Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0, 6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client"
automatiquement.
Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0, 6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client"
automatiquement.
Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0, 6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client"
automatiquement.
Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0, 6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
*Bonjour Nadyajah*,
de la maniere dont tu gere ta boucle, tu commence d'en haut (ligne 2)
et tu termine en bas (ligne .End(xlup)).Du coup tu supprime la ligne
par exemple 4 et quand ta boucle veux aller sur la ligne 5, c'est deja
devenu la 4 et tu es sur la ligne theorique 6.Je ne sais pas si je me
fait bien comprendre :-?
For c = Range("D65536").End(xlUp).row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
Pas tester, mais devrait convenir. Attention avec cette macro, tu ne
garde meme pas un des doublons dans ta feuille.Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client" automatiquement.
Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0, 6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
--
____
( O | O )
--
_oooO_ JLuc _Oooo_
O-O
*Bonjour Nadyajah*,
de la maniere dont tu gere ta boucle, tu commence d'en haut (ligne 2)
et tu termine en bas (ligne .End(xlup)).Du coup tu supprime la ligne
par exemple 4 et quand ta boucle veux aller sur la ligne 5, c'est deja
devenu la 4 et tu es sur la ligne theorique 6.Je ne sais pas si je me
fait bien comprendre :-?
For c = Range("D65536").End(xlUp).row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
Pas tester, mais devrait convenir. Attention avec cette macro, tu ne
garde meme pas un des doublons dans ta feuille.
Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client" automatiquement.
Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0, 6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
--
____
( O | O )
--
_oooO_ JLuc _Oooo_
O-O
*Bonjour Nadyajah*,
de la maniere dont tu gere ta boucle, tu commence d'en haut (ligne 2)
et tu termine en bas (ligne .End(xlup)).Du coup tu supprime la ligne
par exemple 4 et quand ta boucle veux aller sur la ligne 5, c'est deja
devenu la 4 et tu es sur la ligne theorique 6.Je ne sais pas si je me
fait bien comprendre :-?
For c = Range("D65536").End(xlUp).row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
Pas tester, mais devrait convenir. Attention avec cette macro, tu ne
garde meme pas un des doublons dans ta feuille.Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client" automatiquement.
Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0, 6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
--
____
( O | O )
--
_oooO_ JLuc _Oooo_
O-O
Bonsoir,
J'ai réécris la macro suivante et il me dit en selectionnant le "c" de la
ligne de programme "For c = Range("D65536").End(xlUp).Row To 2" =>
incompatibilité de type.
???????
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For c = Range("D65536").End(xlUp).Row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c*Bonjour Nadyajah*,
de la maniere dont tu gere ta boucle, tu commence d'en haut (ligne 2)
et tu termine en bas (ligne .End(xlup)).Du coup tu supprime la ligne
par exemple 4 et quand ta boucle veux aller sur la ligne 5, c'est deja
devenu la 4 et tu es sur la ligne theorique 6.Je ne sais pas si je me
fait bien comprendre :-?
For c = Range("D65536").End(xlUp).row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
Pas tester, mais devrait convenir. Attention avec cette macro, tu ne
garde meme pas un des doublons dans ta feuille.Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom
Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client"
automatiquement.
Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0,
6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines
lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
--
____
( O | O )
--
_oooO_ JLuc _Oooo_
O-O
Bonsoir,
J'ai réécris la macro suivante et il me dit en selectionnant le "c" de la
ligne de programme "For c = Range("D65536").End(xlUp).Row To 2" =>
incompatibilité de type.
???????
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For c = Range("D65536").End(xlUp).Row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
*Bonjour Nadyajah*,
de la maniere dont tu gere ta boucle, tu commence d'en haut (ligne 2)
et tu termine en bas (ligne .End(xlup)).Du coup tu supprime la ligne
par exemple 4 et quand ta boucle veux aller sur la ligne 5, c'est deja
devenu la 4 et tu es sur la ligne theorique 6.Je ne sais pas si je me
fait bien comprendre :-?
For c = Range("D65536").End(xlUp).row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
Pas tester, mais devrait convenir. Attention avec cette macro, tu ne
garde meme pas un des doublons dans ta feuille.
Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom
Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client"
automatiquement.
Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0,
6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines
lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
--
____
( O | O )
--
_oooO_ JLuc _Oooo_
O-O
Bonsoir,
J'ai réécris la macro suivante et il me dit en selectionnant le "c" de la
ligne de programme "For c = Range("D65536").End(xlUp).Row To 2" =>
incompatibilité de type.
???????
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For c = Range("D65536").End(xlUp).Row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c*Bonjour Nadyajah*,
de la maniere dont tu gere ta boucle, tu commence d'en haut (ligne 2)
et tu termine en bas (ligne .End(xlup)).Du coup tu supprime la ligne
par exemple 4 et quand ta boucle veux aller sur la ligne 5, c'est deja
devenu la 4 et tu es sur la ligne theorique 6.Je ne sais pas si je me
fait bien comprendre :-?
For c = Range("D65536").End(xlUp).row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
Pas tester, mais devrait convenir. Attention avec cette macro, tu ne
garde meme pas un des doublons dans ta feuille.Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom
Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client"
automatiquement.
Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0,
6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines
lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
--
____
( O | O )
--
_oooO_ JLuc _Oooo_
O-O
Bonsoir Nadyajah,
Dans ce que t'a proposé JLuc, la variable c représente la ligne à traiter.
Puisque tu as déjà une variable objet "c", il faut que tu en déclares une
autre. Par exemple :
Dim Ligne as Long
et ensuite, tu remplaces le c dans la partie de code de JLuc par cette
nouvelle variable.
Amicalement
Yoyo
"Nadyajah" a écrit dans le message de
news:Bonsoir,
J'ai réécris la macro suivante et il me dit en selectionnant le "c" de
la
ligne de programme "For c = Range("D65536").End(xlUp).Row To 2" =>
incompatibilité de type.
???????
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For c = Range("D65536").End(xlUp).Row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c*Bonjour Nadyajah*,
de la maniere dont tu gere ta boucle, tu commence d'en haut (ligne 2)
et tu termine en bas (ligne .End(xlup)).Du coup tu supprime la ligne
par exemple 4 et quand ta boucle veux aller sur la ligne 5, c'est deja
devenu la 4 et tu es sur la ligne theorique 6.Je ne sais pas si je me
fait bien comprendre :-?
For c = Range("D65536").End(xlUp).row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
Pas tester, mais devrait convenir. Attention avec cette macro, tu ne
garde meme pas un des doublons dans ta feuille.Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom
Client -F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client
à
rectifier" et les supprimer de la feuille "fichier client"
automatiquement.Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6),
c.Offset(0,
6))Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines
lignes etles 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
--
____
( O | O )
--
_oooO_ JLuc _Oooo_
O-O
Bonsoir Nadyajah,
Dans ce que t'a proposé JLuc, la variable c représente la ligne à traiter.
Puisque tu as déjà une variable objet "c", il faut que tu en déclares une
autre. Par exemple :
Dim Ligne as Long
et ensuite, tu remplaces le c dans la partie de code de JLuc par cette
nouvelle variable.
Amicalement
Yoyo
"Nadyajah" <Nadyajah@discussions.microsoft.com> a écrit dans le message de
news:F6EDD9A3-9D01-458E-867A-9727ECE125BC@microsoft.com...
Bonsoir,
J'ai réécris la macro suivante et il me dit en selectionnant le "c" de
la
ligne de programme "For c = Range("D65536").End(xlUp).Row To 2" =>
incompatibilité de type.
???????
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For c = Range("D65536").End(xlUp).Row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
*Bonjour Nadyajah*,
de la maniere dont tu gere ta boucle, tu commence d'en haut (ligne 2)
et tu termine en bas (ligne .End(xlup)).Du coup tu supprime la ligne
par exemple 4 et quand ta boucle veux aller sur la ligne 5, c'est deja
devenu la 4 et tu es sur la ligne theorique 6.Je ne sais pas si je me
fait bien comprendre :-?
For c = Range("D65536").End(xlUp).row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
Pas tester, mais devrait convenir. Attention avec cette macro, tu ne
garde meme pas un des doublons dans ta feuille.
Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom
Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client
à
rectifier" et les supprimer de la feuille "fichier client"
automatiquement.
Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6),
c.Offset(0,
6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines
lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
--
____
( O | O )
--
_oooO_ JLuc _Oooo_
O-O
Bonsoir Nadyajah,
Dans ce que t'a proposé JLuc, la variable c représente la ligne à traiter.
Puisque tu as déjà une variable objet "c", il faut que tu en déclares une
autre. Par exemple :
Dim Ligne as Long
et ensuite, tu remplaces le c dans la partie de code de JLuc par cette
nouvelle variable.
Amicalement
Yoyo
"Nadyajah" a écrit dans le message de
news:Bonsoir,
J'ai réécris la macro suivante et il me dit en selectionnant le "c" de
la
ligne de programme "For c = Range("D65536").End(xlUp).Row To 2" =>
incompatibilité de type.
???????
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For c = Range("D65536").End(xlUp).Row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c*Bonjour Nadyajah*,
de la maniere dont tu gere ta boucle, tu commence d'en haut (ligne 2)
et tu termine en bas (ligne .End(xlup)).Du coup tu supprime la ligne
par exemple 4 et quand ta boucle veux aller sur la ligne 5, c'est deja
devenu la 4 et tu es sur la ligne theorique 6.Je ne sais pas si je me
fait bien comprendre :-?
For c = Range("D65536").End(xlUp).row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
Pas tester, mais devrait convenir. Attention avec cette macro, tu ne
garde meme pas un des doublons dans ta feuille.Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom
Client -F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client
à
rectifier" et les supprimer de la feuille "fichier client"
automatiquement.Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6),
c.Offset(0,
6))Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines
lignes etles 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
--
____
( O | O )
--
_oooO_ JLuc _Oooo_
O-O
Bonsoir Nadyajah,
Dans ce que t'a proposé JLuc, la variable c représente la ligne à traiter.
Puisque tu as déjà une variable objet "c", il faut que tu en déclares une
autre. Par exemple :
Dim Ligne as Long
et ensuite, tu remplaces le c dans la partie de code de JLuc par cette
nouvelle variable.
Amicalement
Yoyo
"Nadyajah" a écrit dans le message de
news:Bonsoir,
J'ai réécris la macro suivante et il me dit en selectionnant le "c" de la
ligne de programme "For c = Range("D65536").End(xlUp).Row To 2" =>
incompatibilité de type.
???????
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For c = Range("D65536").End(xlUp).Row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c*Bonjour Nadyajah*,
de la maniere dont tu gere ta boucle, tu commence d'en haut (ligne 2)
et tu termine en bas (ligne .End(xlup)).Du coup tu supprime la ligne
par exemple 4 et quand ta boucle veux aller sur la ligne 5, c'est deja
devenu la 4 et tu es sur la ligne theorique 6.Je ne sais pas si je me
fait bien comprendre :-?
For c = Range("D65536").End(xlUp).row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
Pas tester, mais devrait convenir. Attention avec cette macro, tu ne
garde meme pas un des doublons dans ta feuille.Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client"
automatiquement. Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0, 6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
--
____
( O | O )
--
_oooO_ JLuc _Oooo_
O-O
Bonsoir Nadyajah,
Dans ce que t'a proposé JLuc, la variable c représente la ligne à traiter.
Puisque tu as déjà une variable objet "c", il faut que tu en déclares une
autre. Par exemple :
Dim Ligne as Long
et ensuite, tu remplaces le c dans la partie de code de JLuc par cette
nouvelle variable.
Amicalement
Yoyo
"Nadyajah" <Nadyajah@discussions.microsoft.com> a écrit dans le message de
news:F6EDD9A3-9D01-458E-867A-9727ECE125BC@microsoft.com...
Bonsoir,
J'ai réécris la macro suivante et il me dit en selectionnant le "c" de la
ligne de programme "For c = Range("D65536").End(xlUp).Row To 2" =>
incompatibilité de type.
???????
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For c = Range("D65536").End(xlUp).Row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
*Bonjour Nadyajah*,
de la maniere dont tu gere ta boucle, tu commence d'en haut (ligne 2)
et tu termine en bas (ligne .End(xlup)).Du coup tu supprime la ligne
par exemple 4 et quand ta boucle veux aller sur la ligne 5, c'est deja
devenu la 4 et tu es sur la ligne theorique 6.Je ne sais pas si je me
fait bien comprendre :-?
For c = Range("D65536").End(xlUp).row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
Pas tester, mais devrait convenir. Attention avec cette macro, tu ne
garde meme pas un des doublons dans ta feuille.
Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client"
automatiquement. Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0, 6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
--
____
( O | O )
--
_oooO_ JLuc _Oooo_
O-O
Bonsoir Nadyajah,
Dans ce que t'a proposé JLuc, la variable c représente la ligne à traiter.
Puisque tu as déjà une variable objet "c", il faut que tu en déclares une
autre. Par exemple :
Dim Ligne as Long
et ensuite, tu remplaces le c dans la partie de code de JLuc par cette
nouvelle variable.
Amicalement
Yoyo
"Nadyajah" a écrit dans le message de
news:Bonsoir,
J'ai réécris la macro suivante et il me dit en selectionnant le "c" de la
ligne de programme "For c = Range("D65536").End(xlUp).Row To 2" =>
incompatibilité de type.
???????
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For c = Range("D65536").End(xlUp).Row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c*Bonjour Nadyajah*,
de la maniere dont tu gere ta boucle, tu commence d'en haut (ligne 2)
et tu termine en bas (ligne .End(xlup)).Du coup tu supprime la ligne
par exemple 4 et quand ta boucle veux aller sur la ligne 5, c'est deja
devenu la 4 et tu es sur la ligne theorique 6.Je ne sais pas si je me
fait bien comprendre :-?
For c = Range("D65536").End(xlUp).row To 2
If Cells(c, 4).Offset(0, 7).Value > 1 Then
Range("A" & c & ":I" & c).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
Row(c).Delete
End If
Next c
Pas tester, mais devrait convenir. Attention avec cette macro, tu ne
garde meme pas un des doublons dans ta feuille.Bonjour,
J'ai une feuille "fichier client" avec les colonnes suivantes :
A:N° Salon - B:N° Client - C:Civilité - D:Nom Client - E:Prénom Client -
F:Adresse 1...
Je souhaiterai extraire les doublons dans la feuille "fichier client à
rectifier" et les supprimer de la feuille "fichier client"
automatiquement. Voici la macro :
Sub SuppressionClients()
Dim Plage As Range, c As Range, Ligne As Long
Range("J:K").Insert
Ligne = 1
Set Plage = Range("D2", Range("D65536").End(xlUp))
For Each c In Plage
c.Offset(0, 6).Value = c.Value & c.Offset(0, 1).Value
Next c
For Each c In Plage
c.Offset(0, 7).Value = _
WorksheetFunction.CountIf(Plage.Offset(0, 6), c.Offset(0, 6))
Next c
Range("k:k").Copy
Range("k:k").PasteSpecial xlPasteValues
For Each c In Plage
If c.Offset(0, 7).Value > 1 Then
Range("A" & c.Row & ":I" & c.Row).Copy _
Sheets("Fichier client à rectifier").Range("A" & Ligne)
Ligne = Ligne + 1
c.EntireRow.Delete
End If
Next c
Range("J:K").Delete
End Sub
Cependant, il ne m'extrait q'un seul des doublons pour certaines lignes et
les 2 pour d'autres.... Je n'y comprend plus rien.
J'ai joins mon fichier pour exemple.
http://cjoint.com/?cex6Vw7kHI
Nadyajah
--
____
( O | O )
--
_oooO_ JLuc _Oooo_
O-O
Dans ce genre de manip, le filtre élaboré est beaucoup plus performant qu'une
boucle
Il est évident que, plus le nombre de données à examiner est important, et plus
la différence de rapidité est perceptible
Exemple là :
http://cjoint.com/?cgjEWsjbB3
AV
Dans ce genre de manip, le filtre élaboré est beaucoup plus performant qu'une
boucle
Il est évident que, plus le nombre de données à examiner est important, et plus
la différence de rapidité est perceptible
Exemple là :
http://cjoint.com/?cgjEWsjbB3
AV
Dans ce genre de manip, le filtre élaboré est beaucoup plus performant qu'une
boucle
Il est évident que, plus le nombre de données à examiner est important, et plus
la différence de rapidité est perceptible
Exemple là :
http://cjoint.com/?cgjEWsjbB3
AV