Modification Macro VBA
Fanaouer
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
Bonjour à tous,
Je vais essayer d'être le plus claire possible.
J'aimerais modifier cette macro en remplacent Inputbox qui me permet de selectionner les plages à comparer, par les plages en question.
C'est à dire supprimer cette étape en intégrant directement les plages concerné car celle-ci ne change pas.
Merci d'avance pour vos réponse.
Ci-dessous la macro concernée
Dim Range1 As Range, Range2 As Range, Rng1 As Range, Rng2 As Range, outRng As Range
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Range1 :", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Range2:", xTitleId, Type:=8)
Application.ScreenUpdating = False
For Each Rng1 In Range1
xValue = Rng1.Value
For Each Rng2 In Range2
If xValue = Rng2.Value Then
If outRng Is Nothing Then
Set outRng = Rng1
Else
Set outRng = Application.Union(outRng, Rng1)
End If
End If
Next
Next
outRng.Select
Selection.ClearContents
Application.ScreenUpdating = True
Je vais essayer d'être le plus claire possible.
J'aimerais modifier cette macro en remplacent Inputbox qui me permet de selectionner les plages à comparer, par les plages en question.
C'est à dire supprimer cette étape en intégrant directement les plages concerné car celle-ci ne change pas.
Merci d'avance pour vos réponse.
Ci-dessous la macro concernée
Dim Range1 As Range, Range2 As Range, Rng1 As Range, Rng2 As Range, outRng As Range
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Range1 :", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Range2:", xTitleId, Type:=8)
Application.ScreenUpdating = False
For Each Rng1 In Range1
xValue = Rng1.Value
For Each Rng2 In Range2
If xValue = Rng2.Value Then
If outRng Is Nothing Then
Set outRng = Rng1
Else
Set outRng = Application.Union(outRng, Rng1)
End If
End If
Next
Next
outRng.Select
Selection.ClearContents
Application.ScreenUpdating = True
2 réponses
Bonjour,
voir sélectionner plage de cellules:
https://docs.microsoft.com/en-us/previous-versions/office/troubleshoot/office-developer/select-cells-rangs-with-visual-basic
voir sélectionner plage de cellules:
https://docs.microsoft.com/en-us/previous-versions/office/troubleshoot/office-developer/select-cells-rangs-with-visual-basic
a cette endroit:
Set Range1 = Application.Selection
Set Range1 = ActiveSheet.Range("C2:c10").Select Application.InputBox("Range1 :", xTitleId, Range1.Address, Type:=8)
Set Range2 = ActiveSheet.Range("d2:D10").Select Application.InputBox("Range2:", xTitleId, Type:=8)
En supprimant ce qui est en italque.
Mais cela me dit qu'il manque un objet??