Selection plage de données VBA

jérémy -  
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

l'idée de ma macro serait de repertorier les matricules identiques ou non dans une de mes feuilles. Pour cela je supprime tout d'abord les lignes sans matricule présente dans mon fichier puis je fais un countIf (vba =NB.SI en excel) pour rechercher quel matricule se trouve dans la feuille précédente. Merci par avance pour votre aide!

Pb : Je voudrais selectionner une plage de cellule sur ma feuille Log16 ( CountIf(F1.Range("D", Range("D").End(xlDown)), Range("D" & J))) mais j'ai une erreur de syntaxe dans mon code pouvez vous m'aider s'il vous plait?

Sub Macro1()
'
' Macro1 Macro
'
Dim NbLg As Long
Colonnes = Array("D")


Set F1 = Sheets("Log16")
Set F2 = Sheets("Log17")

With F1
Range("D:D").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With

With F2
Range("D:D").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

NbLg = .Range("A" & Rows.Count).End(xlUp).Row

For J = 2 To NbLg
F2.Range("F2").FormulaR1C1 = "= CountIf(F1.Range("D", Range("D").End(xlDown)), Range("D" & J))"
Next J
End With



Cordialement,

Jérémy

1 réponse

Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Voici un code pour commencer :
Sub Macro1()
Dim F1 As Worksheet, F2 As Worksheet
Dim NbLg As Long, J As Long
Set F1 = Sheets("Log16")
Set F2 = Sheets("Log17")
With F1
.Range("D:D").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
With F2
.Range("D:D").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
NbLg = .Range("A" & Rows.Count).End(xlUp).Row
For J = 2 To NbLg
.Range("F" & J) = Application.CountIf(Range(F1.Range("D2"), F1.Range("D2").End(xlDown)), .Range("D" & J))
Next J
End With
End Sub

A+
0