Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

code vba "Damier"

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

  • Damier.xls
    19 KB · Affichages: 296
  • Damier.xls
    19 KB · Affichages: 273
  • Damier.xls
    19 KB · Affichages: 293

JBARBE

XLDnaute Barbatruc
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
 

Staple1600

XLDnaute Barbatruc
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:

kechor

XLDnaute Occasionnel
Re : code vba "Damier"

Bonjour à tous.

Je vous remercie pour vos réponses.
je vais m'inspirer de vos exemple, pour continuer à avancer .
et merci encore.
Si il y a d'autres exemples je suis preneur.
 

Staple1600

XLDnaute Barbatruc
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:

eriiic

XLDnaute Barbatruc
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:

mapomme

XLDnaute Barbatruc
Supporter XLD
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

  • Damier v1.xls
    32 KB · Affichages: 88
Dernière édition:

VIARD

XLDnaute Impliqué
Re : code vba "Damier"

Bonjour kechor et à tous


Encore une solution par appel de procédures et fonction.
explication dans le code.

salutation

Jean-Paul
 

Pièces jointes

  • ManipDamier.xls
    45.5 KB · Affichages: 84

Hulk

XLDnaute Barbatruc
Re : code vba "Damier"

Bonjour tout le monde

Et encore une autre version... Petite fantaisie en plus avec des couleurs.

Tous les chemins mènent à Rome
 

Pièces jointes

  • Damier coloré.xlsm
    30.8 KB · Affichages: 95

Discussions similaires

Réponses
13
Affichages
314
Réponses
7
Affichages
183
Réponses
21
Affichages
400
Réponses
2
Affichages
114
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…