Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

selection lignes non consecutives

2 réponses
Avatar
cliffburton57
Re bonjour

'--------------------------------
> Sub test()
>
> Dim Rg As Range, a As Integer
> Dim Arr As Variant, x as variant
> Dim Arr1 As Variant
>
> Arr = Array("H", "M", "N", "O", "P", "Q")
> Arr1 = Array(15, 2, 1, 0, 0, 2)
>
> If TypeName(Selection) = "Range" Then
> Set Rg = Selection
> Else
> Exit Sub
> End If
>
> Application.EnableEvents = False
> Application.ScreenUpdating = False
> For Each r In Rg.Rows
> For Each x In Arr
>
> Cells(r.Row, x) = Arr1(a)
> a = a + 1
> Next
> a = 0
> Next
> Set Rg = Nothing
> End Sub
> '--------------------------------

Je vien de tester ma macro (fournit par votre équipe [:-)] merci encore ) Et
j'ai constaté qu'il y avait un bug. J'ai oublier de vous preciser que je
travail avec des filtes .
Donc le probleme qui ce presente est que lorsque j'effectue un filtre, que
je choisit une plage de cellules , et que j'effectue ma macro Toutes les
cellules ( meme celle ne figurant pas dans ma plage filtré) sont changé.Donc
il faudrait ke la plage selection prenne en compte le filtre en cours.

Je ne suis peut etre pas tres clair c'est donc pour cela que je reste a
votre disposition pour d'eventuel question .

Merci d'avance

2 réponses

Avatar
Vincnet.
Re bonjour aussi,
Remplacer
Set Rg = Selection
par
Set Rg = Selection.SpecialCells(xlCellTypeVisible)

--
A+

V.



Re bonjour

'--------------------------------
Sub test()

Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant

Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)

If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If

Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr

Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------


Je vien de tester ma macro (fournit par votre équipe [:-)] merci encore ) Et
j'ai constaté qu'il y avait un bug. J'ai oublier de vous preciser que je
travail avec des filtes .
Donc le probleme qui ce presente est que lorsque j'effectue un filtre, que
je choisit une plage de cellules , et que j'effectue ma macro Toutes les
cellules ( meme celle ne figurant pas dans ma plage filtré) sont changé.Donc
il faudrait ke la plage selection prenne en compte le filtre en cours.

Je ne suis peut etre pas tres clair c'est donc pour cela que je reste a
votre disposition pour d'eventuel question .

Merci d'avance



Avatar
cliffburton57
Merci beaucoup Vincnet et bonne fetes de fin d'années !!


Re bonjour aussi,
Remplacer
Set Rg = Selection
par
Set Rg = Selection.SpecialCells(xlCellTypeVisible)

--
A+

V.



Re bonjour

'--------------------------------
Sub test()

Dim Rg As Range, a As Integer
Dim Arr As Variant, x as variant
Dim Arr1 As Variant

Arr = Array("H", "M", "N", "O", "P", "Q")
Arr1 = Array(15, 2, 1, 0, 0, 2)

If TypeName(Selection) = "Range" Then
Set Rg = Selection
Else
Exit Sub
End If

Application.EnableEvents = False
Application.ScreenUpdating = False
For Each r In Rg.Rows
For Each x In Arr

Cells(r.Row, x) = Arr1(a)
a = a + 1
Next
a = 0
Next
Set Rg = Nothing
End Sub
'--------------------------------


Je vien de tester ma macro (fournit par votre équipe [:-)] merci encore ) Et
j'ai constaté qu'il y avait un bug. J'ai oublier de vous preciser que je
travail avec des filtes .
Donc le probleme qui ce presente est que lorsque j'effectue un filtre, que
je choisit une plage de cellules , et que j'effectue ma macro Toutes les
cellules ( meme celle ne figurant pas dans ma plage filtré) sont changé.Donc
il faudrait ke la plage selection prenne en compte le filtre en cours.

Je ne suis peut etre pas tres clair c'est donc pour cela que je reste a
votre disposition pour d'eventuel question .

Merci d'avance