Bonjour à tous,
j'ai un classeur contenant des contacts sur plusieurs feuilles (je sais, plusieurs feuilles ce n'est pas idéal amsi c'est comme ça...)
Je cherche à copier coller les doublons dans un autre classeur? J'ai déjà copier dans un autre classeur tous els contacts répondant à une certaine condition, cela fonctionne. J'ai donc repris le code en changeant la condition et utilisé la fonction countIf.
Cela ne fonctionne pas, j'ai l'erreur : "Objet requis" (sur la ligne que je désigne dans le code ci-dessous). Je cherche les doublons dans la colonne col que je définie juste avant dans la procédure (j'ai testé ça fonctionne).
Pourriez-vous me dire ce qui pose problème dans le code suivant : ?
Je soupçonne d'avoir mal défini "Plage" (toute la colonne col) mais je ne sais pas comment la définir autrement.
NB : j'ai également déjà beaucoup utilisé mon vecteur "Noms_feuilles" et la procédure qui l'initialise, l'erreur ne vient surement pas de là.
Idéalement j'aurai aimé pouvoir détecter les doublons dans toutes les feuilles et pas seulement rassembler les doublons de chacune des feuilles mais je ne vois pas comment faire.
En vous remerciant par avance !
Louise
j'ai un classeur contenant des contacts sur plusieurs feuilles (je sais, plusieurs feuilles ce n'est pas idéal amsi c'est comme ça...)
Je cherche à copier coller les doublons dans un autre classeur? J'ai déjà copier dans un autre classeur tous els contacts répondant à une certaine condition, cela fonctionne. J'ai donc repris le code en changeant la condition et utilisé la fonction countIf.
Cela ne fonctionne pas, j'ai l'erreur : "Objet requis" (sur la ligne que je désigne dans le code ci-dessous). Je cherche les doublons dans la colonne col que je définie juste avant dans la procédure (j'ai testé ça fonctionne).
Pourriez-vous me dire ce qui pose problème dans le code suivant : ?
Je soupçonne d'avoir mal défini "Plage" (toute la colonne col) mais je ne sais pas comment la définir autrement.
VB:
Sub doublon_feuille()
'Trouver la colonne correspondant au prénom
Dim col As Long
col = Range(RefCell("Nom")).Column
InitialiseNoms_feuilles 'Initialise un vecteur avec le noms des feuilles dans lesquelles je veux chercher mes doublons
'Création d'un tableau contenant mes lignes
Dim TabE()
Dim Plage As Range
Dim LE As Integer
Dim TabS()
Dim LS As Long
LS = 0
Dim c As Long
c = 0
Dim i As Long
i = 0
ReDim TabS(1 To 5000, 1 To 10)
For i = LBound(Noms_feuilles) To UBound(Noms_feuilles)
With Sheets(Noms_feuilles(i))
TabE = .UsedRange.Value
Set Plage = .Range(.Cells(2, col), .Cells(.Rows.Count, col).End(xlUp))
End With
If UBound(TabS, 2) < UBound(TabE, 2) Then ReDim Preserve TabS(1 To UBound(TabS, 1), 1 To UBound(TabE, 2))
For LE = 1 To UBound(TabE, 1)
If Application.CountIf(Plage, TabE(LE, col).Value) > 1 Then '---> erreur ICI
LS = LS + 1
For c = 1 To UBound(TabE, 2)
TabS(LS, c) = TabE(LE, c)
Next c
End If
Next LE
Next i
'Création d'un nouveau classeur et "collage" du tableau contenat les lignes dans ce classeur
Workbooks.Add
ActiveSheet.[A2].Resize(LS, UBound(TabS, 2)).Value = TabS
End Sub
NB : j'ai également déjà beaucoup utilisé mon vecteur "Noms_feuilles" et la procédure qui l'initialise, l'erreur ne vient surement pas de là.
Idéalement j'aurai aimé pouvoir détecter les doublons dans toutes les feuilles et pas seulement rassembler les doublons de chacune des feuilles mais je ne vois pas comment faire.
En vous remerciant par avance !
Louise