1 pièce(s) jointe(s)
Comment programmer des boucles efficaces en VBA ?
Bonjour,
Novice en VBA je m’excuse pour les termes approximatifs que je vais employer. J’ai autant de difficulté à coder qu’a explicitée ce que je code LOL, soyez indulgent.
Afin d'introduire la problématique voici la description de ma page Excel (que je laisserais en pièce jointe)
Il s’agit d’un calendrier mensuel, rien de bien compliqué il est très basic. Sur le côté j’ai noté des dates de réservation. Afin de rendre le calendrier le plus lisible possible, j’aimerais mettre une couleur de fond pour les jours où il y a une réservation.
Comme il y a deux recherches en parallèle j’ai essayé d’imbriquer une boucle FOR-EACH dans une boucle DO-WHILE. J’ai essayé de retourner le code dans tous les sens mais c’est un véritable sac de nœuds. VBA et sa gymnastique intellectuelle est encore un peu trop confuse pour moi. Enfin bref, voici ce que j’ai faits
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
Sub Calendrier()
Dim cellule As Range
Dim i As Long
i = 4
Worksheets("Réservation").Range("j4:J10").Select
While Sheets("Réservation").Range("J" & i).Value <> ""
For Each cellule In Selection
If cellule.Value = Sheets("Réservation").Range("A" & i).Value Then
Sheets("Réservation").Range("A" & i).Value .Interior.ColorIndex = 6
End If
Next cellule
i = i + 1
Wend
End Sub |
Certains ont dû bondir de leurs chaises en voyant les erreurs grotesques que j’ai surement faite.
Je mesure l’ampleur de ma demande et de la difficulté, alors merci par avance à ceux qui voudront me porter secours !