Selection plage de données VBA

Fermé
jérémy - 20 avril 2015 à 15:34
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 - 20 avril 2015 à 16:05
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 samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 524
20 avril 2015 à 16:05
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