Appel à l'aide pour boucle VBA

  • Initiateur de la discussion Initiateur de la discussion Hawkeye56
  • 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 !

H

Hawkeye56

Guest
Bonjour à tous

Je suis en train de faire un calendrier permettant de gérer les Congés et RTT à l'aide d'un code totalisant les cellules d'une même couleur.
J'ai réussi à le faire fonctionner pour 1 mois, maintenant je voudrais que cela fonctionne pour les 12 mois de l'année sans avoir à écrire un code de 2 km de long (comme j'ai commencé à le faire 🙁 ). Je pense qu'une boucle est nécessaire mais j'avoue mon incompétence à l'écrire. Si une âme charitable pouvait m'aider... 🙂

Merci par avance.

Bien à vous

Mon fichier joint...
 

Pièces jointes

Dernière modification par un modérateur:
Re : Appel à l'aide pour boucle VBA

Bonjour, au lieu d'une macro, voici une fonction, que tu insères dans un module.
Puis dans la cellule AI8, par exemple, tu entres : (puis faire glisser)

Code:
=comptecouleur($B8:$AF8;$AI8)

la fonction :

Code:
Function CompteCouleur(champ As Range, couleur As Range)
    Application.Volatile
    Dim c, temp
    temp = 0
    For Each c In champ
    If c.Interior.ColorIndex = couleur.Interior.ColorIndex Then
         temp = temp + 1
      End If
    Next c
    CompteCouleur = temp
Calculate
End Function
 
Re : Appel à l'aide pour boucle VBA

Bonjour bhbh, hawkeye56,

en VBA ça donne:

Code:
Sub Congés2()
For lig = 8 To 85 Step 7
    For lig2 = 0 To 3
        For Each cellule In Range("B" & lig + lig2 & ":AF" & lig + lig2)
              If cellule.Interior.ColorIndex = 6 Then Nbj = Nbj + 1
              If cellule.Interior.ColorIndex = 5 Then NbB = NbB + 1
        Next
        Cells(lig + lig2, 37).Value = Nbj
        Cells(lig + lig2, 35).Value = NbB
        Nbj = 0: NbR = 0: NbB = 0: NbV = 0
    Next
Next
End Sub
 
Re : Appel à l'aide pour boucle VBA

Bonjour à tous

Comme j'ai bossé, je poste mais pas grande difference avec celle de Skoobi que je salue en passant sans oublié bhbh

Code:
Sub Congés2()
Dim ligne As Long, i As Long
Dim nbj8 As Integer, nbb8 As Integer
For i = 8 To 85 Step 7
    For ligne = i To i + 3
        nbj8 = 0
        nbb8 = 0
        For Each cellule In Range("B" & ligne & ":AF" & ligne)
            If cellule.Interior.ColorIndex = 6 Then nbj8 = nbj8 + 1
            If cellule.Interior.ColorIndex = 5 Then nbb8 = nbb8 + 1
        Next
        Cells(ligne, 37).Value = nbj8
        Cells(ligne, 35).Value = nbb8
    Next ligne
Next i
End Sub
 
Dernière édition:
Re : Appel à l'aide pour boucle VBA

Bonjour bhbh, Wilfried42, Skoobi

Merci de votre aide 🙂

J'adopte la solution proposée par Skoobi.

Une question: je travaille avec excel 2000, mais je ne trouve pas de livre sur VBA pour cette version d'excel, si j'achète un ouvrage sur VBA pour excel 2003 ou 2005 y aura t'il une grosse différence?

Merci encore🙂
 
Re : Appel à l'aide pour boucle VBA

Bonsoir le fil, Hawkeye56, bhbh, skoubi, wilfried,

Différences minimes, oui, pour ceux qui ont connus les versions antérieures....

Formules, pas de soucis, mais VBA, c'est quelquefois différent....

Les bouquins, c'est bien mais ils n'ont, tous, que les mêmes exemples, et surtout ceux dont on a pas besoin.... Un tremplin, peut-être pour qui veut bosser dur, mais insuffisant...

Sous Excel, touche F1, et sous VBA - Alt-F11, la même touche F1, un peu moins pratique qu'un bouquin.... et pour finir ce forum.... avec se fonction Recherche.....

Bon courage
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
1 K
C
Réponses
20
Affichages
2 K
Cotriana
C
A
Réponses
37
Affichages
4 K
asso78Lim
A
H
  • Question Question
Réponses
4
Affichages
1 K
HaggarduNord
H
A
Réponses
1
Affichages
1 K
Astragor
A
S
Réponses
3
Affichages
979
Stephandevendee
S
C
Réponses
2
Affichages
2 K
crowysterik
C
N
Réponses
3
Affichages
2 K
n.excel
N
Retour