• Initiateur de la discussion Initiateur de la discussion kechor
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kechor

XLDnaute Occasionnel
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.😱
 

Pièces jointes

Re : code vba "Damier"

Bonsoir à tous,

Un exemple de code
Code:
Sub essai()
Dim i As Integer
Dim j As Integer
Sheets(1).Activate
For i = 15 To 25 Step 2
For j = 2 To 10 Step 2
 Cells(i, j).Interior.ColorIndex = 3
 Cells(i + 1, j - 1).Interior.ColorIndex = 43
Next j
Next i
End Sub

bonne nuit
 
Re : code vba "Damier"

MESSAGE EDITE ( Cause BUG de mon browser ou du forum?)
(J'ai eu un message d'erreur d'XLD, disant d’attendre 30 secondes avant de poster un message,
quand j'ai cliqué pour envoyer mon message (celui de 5h56)
J'ai attendu, étant toujours dans mon message (en cours de saisie, en mode prévisualisation)
J
'ai cliqué : Envoyer la réponse
Le résultat c''est que cela a envoyé deux fois le même message 😕)


Merci aux modérateurs de bien vouloir supprimer le message de 5h58.
 
Dernière édition:
Re : code vba "Damier"

Bonjour à tous

Bonjour à tous.
Si il y a d'autres exemples je suis preneur.
Alors voici traduit en VBA (avec une petite touche personnelle quant à certains choix 😉 ), la citation de mon premier message dans ce fil (voir plus bas: message de 5h56)
Code:
​Sub mDamier()
Dim Damier As Range: Set Damier = Range("A1:J10")
With Damier
    .ColumnWidth = 7.14: .RowHeight = 37.5
        With .FormatConditions
        .Delete: .Add Type:=2, Formula1:="=MOD(LIGNE()+COLONNE();2)"
        End With
    .FormatConditions(1).Interior.ColorIndex = 1: .BorderAround 1, 4, 23
End With
End Sub

NB: Macro ci-dessus: test OK ici.

EDITION: Bonsoir eriic, JBARBE, mapomme, R@chid
 
Dernière édition:
Re : code vba "Damier"

Bonjour à tous,

Si il y a d'autres exemples je suis preneur.
Code:
Sub damier2()
    Dim c As Range
    For Each c In [A1:J10]
        If c.Row Mod 2 Xor c.Column Mod 2 Then
            c.Interior.ColorIndex = 4 - c.Row Mod 2
            ' ou
            ' c.Interior.ColorIndex = 1

        End If
    Next c
End Sub
eric

edit: ajout rem pour couleur noire au lieu de rouge/vert
 
Dernière édition:
Re : code vba "Damier"

Bonjour à tous,

Deux essais mais basés sur le même principe:
VB:
Sub Damier1()
Dim xcell As Range
Application.ScreenUpdating = False
Range("A1:J10").Interior.ColorIndex = 0
Range("B1").Interior.ColorIndex = 3
Range("A2").Interior.ColorIndex = 4
For Each xcell In Range("A1:J10")
 xcell.Interior.ColorIndex = Cells((xcell.Row - 1) Mod 2 + 1, (xcell.Column - 1) Mod 2 + 1).Interior.ColorIndex
Next xcell
Application.ScreenUpdating = True
End Sub

Sub Damier2()
Dim i&, j&
Application.ScreenUpdating = False
Range("A1:J10").Interior.ColorIndex = 0
Range("B1").Interior.ColorIndex = 3
Range("A2").Interior.ColorIndex = 4
For i = 0 To 9
 For j = 0 To 9
  Cells(i + 1, j + 1).Interior.ColorIndex = Cells(i Mod 2 + 1, j Mod 2 + 1).Interior.ColorIndex
 Next j
Next i
Application.ScreenUpdating = True
End Sub

nb: En rajoutant, par exemple, l'initialisation des cellules A1 et B2 à bleu et jaune avant la boucle, on reproduit un motif à 4 couleurs.
VB:
Range("A1").Interior.ColorIndex = 5
Range("B2").Interior.ColorIndex = 6
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
330
D
  • Question Question
Réponses
5
Affichages
249
Didierpasdoué
D
Réponses
1
Affichages
115
Réponses
15
Affichages
232
Retour