Selection plage de données VBA
jérémy
-
Gyrus Messages postés 3334 Date d'inscription Statut Membre Dernière intervention -
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?
Cordialement,
Jérémy
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
A voir également:
- Selection plage de données VBA
- Fuite données maif - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- Incompatibilité de type vba ✓ - Forum Programmation
- La zone de données passée à un appel système est insuffisante - Windows 11
1 réponse
Bonjour,
Voici un code pour commencer :
A+
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+