Re:=> DEMO Copy Cells Mono-Column vers MultiColumn
Bonsoir Barbara, JCGL, re NounoursVincent, Sylvie, le Forum
L'Opérateur Mod est bien pratique, voici ce que dit l'aide :
===============================================================
Mod, opérateur
Permet de diviser deux nombres en ne renvoyant que le reste.
Syntaxe
result = number1 Mod number2
La syntaxe de l'opérateur Mod comprend les éléments suivants :
Élément Description
result Toute variable numérique.
number1 Toute expression numérique.
number2 Toute expression numérique.
Remarques
L'opérateur modulo, ou reste, divise l'argument number1 par l'argument number2 (
en arrondissant les nombres à virgules flottantes à des nombres entiers) et ne retourne que le reste dans l'argument result.
===============================================================
Donc en clair celà signifie que pour ma Varaible 'L' (qui est la Ligne) dans ma démo, je regarde si L Divisé par 63 = 0, là je sais que je suis soit sur la Ligne 63, soit dans un Multiple de 63.
Pour mieux comprendre, voici des petits exemples, basés sur le fait d'identifier des Valeurs Paires.
Sub ModulosInputBox()
Dim MyNumber As Integer
Dim Reply As String
MyNumber = Application.InputBox('Taper un Nombre', Type:=1)
Reply = IIf(MyNumber Mod 2 = 0, 'Le Nombre ' & MyNumber & ' est Pair', 'Le Nombre ' & MyNumber & ' est Impair')
MsgBox Reply
End Sub
Et Trois autres exemples allant 'crescendo' dans la difficulté (à tester sur un Classeur Vierge)
Sub ModulosLignePaire()
Dim L As Byte
Cells.Clear
For L = 1 To 50
L = L + 1
If L Mod 2 = 0 Then
Cells(L, 1).EntireRow.Interior.ColorIndex = 5
End If
Next
End Sub
Sub ModulosColonnePaire()
Dim C As Byte
Cells.Clear
For C = 1 To 20
C = C + 1
If C Mod 2 = 0 Then
Cells(1, C).EntireColumn.Interior.ColorIndex = 3
End If
Next
End Sub
Sub ModulosEchiquier()
Dim L As Byte, C As Byte
Dim Cell As Range
Cells.Clear
C = 1
For Each Cell In Range('A1:R50')
L = L + 1
If L Mod 50 = 0 Then
C = C + 1
L = 1
End If
If L Mod 2 = 0 And Not C Mod 2 = 0 Then
Cells(L, C).Interior.ColorIndex = 1
ElseIf Not L Mod 2 = 0 And C Mod 2 = 0 Then
Cells(L, C).Interior.ColorIndex = 1
End If
Next
End Sub
Je pense que Mod n'aura plus de secret pour toi !
Bonne Fin de 1er Mai
[ol]@+Thierry[/ol]
Edition !!!
Arf !!! Satanés @@@##### de Smileys intempestifs !!! lol
Message édité par: _Thierry, à: 01/05/2006 19:39