Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Bonsoir au forum,
Je viens de réaliser mon premier code, un "damier".
Je voulais votre avis sur ce code, et d'autres exemple de codes pour ce "damier".
merci et bonne nuit.
Sub Test()
With Sheets("Feuil1").Range("$A$1:$J$10")
.FormulaLocal = "=LN(MOD((LIGNE()+COLONNE());2))"
.SpecialCells(-4123, 16).Interior.ColorIndex = Int(54 * Rnd + 1)
.SpecialCells(-4123, 1).Interior.ColorIndex = Int(54 * Rnd + 1)
.ClearContents
End With
End Sub
Bonjour kechor, le fil
on rempli la plage avec une formule
=LN(MOD((LIGNE()+COLONNE());2))
MOD((LIGNE()+COLONNE());2) renvoi une foi 1 une foi 0
LN(0) renvoi une erreur
.SpecialCells(-4123, 16) peux s'écrire .SpecialCells(xlCellTypeFormulas, xlErrors)
Cela va cibler toutes les cellule de la plage dont la formule est en erreur
.SpecialCells(-4123, 1) peux s'écrire .SpecialCells(xlCellTypeFormulas, xlNumbers )
Cela va cibler toutes les cellule de la plage dont la formule renvoi un nombre
Int(54 * Rnd + 1)
Renvoi un chiffre plus ou moin aléatoire, entre 2 et 56 pour la couleur de la plage
avec plaisir
----------------------------------------------------------------------------------------------
Pour la macro évènementielle écrite dans la page de code de la feuille (Feuil1)
Code:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
'choix des fonds
If Intersect(R, [A2:B2]) Is Nothing Then Exit Sub
c = Application.Dialogs(xlDialogPatterns).Show
If c = False Then Exit Sub
End Sub
si la cellule sélectionnée (au clic par exemple) n'est ni A2, ni B2 : aucune action (sortie de la macro par Exit Sub)
sinon ouverture de la boîte de dialogue de formatage d'une cellule (couleurs et styles) et selon sa fermeture, sortie (par Annuler ou la croix) ou mise en forme de la cellule (par Ok) avec les choix faits.
Tu peux te dispenser de cette procédure si tu formates directement ces 2 cellules sur la feuille.
Il te restera peu de lignes à écrire simplement.
------------------------------------------------------------------------------------------
Pour la macro associée au bouton et écrite dans la page de code de la feuille où il se trouve (Feuil1)
Code:
Private Sub CommandButton1_Click()
[A2].Copy Range("D3,E4")
'pas obligatoire
[B2].Copy Range("D4,E3")
[D3:E4].Copy [D3].Resize(10, 10)
End Sub
la cellule A2 est copiée avec son formatage en D3 et en E4,
la cellule B2 est copiée avec son formatage en D4 et en E3,
le carré D3:E4 est copié sur les 10 lignes et 10 colonnes à partir de D3 (inclus).
En supprimant d'abord le fond du damier*, fais varier 10 pour voir l'effet de Resize (F1 te donnera d'autres explications de ce mot).
* ce qui aurait pu se faire en premier dans cette macro.
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.