Remplissage automatique de case en couleur (vb)

Mister Binaire

XLDnaute Occasionnel
Bonsoir le Forum,

J'ai récupéré sur le Site ce planning (Voir PJ) que j'ai modifié pour mes besoins.
Cependant j'aurais besoin de votre aide pour le finaliser.

Je voudrais après avoir sélectionné sur le calendrier la période ou le technicien va travailler que la couleur correspondante au poste de travail en légende se mette en place automatiquement en allant cliqué sur le carré de couleur correspondant à l'activité.

Vous remerciant par avance de votre aide...

Amicalement,
MB
 

Mister Binaire

XLDnaute Occasionnel
Re : Remplissage automatique de case en couleur (vb)

Bonsoir le Forum,

Merci à vous Deux Regueiro et Staple1600 pour votre Aide bien précieuse !!

Je vais donc penser fortement désormais au mot "Anonyme" dans mes fichiers. (que j'ai retiré du post d'ailleurs).

Je reste dans l'attente de votre avis concernant mon dernier fichier "Non Anonyme" que j'avais posté après avoir récupéré un petit programme VBA via le forum et qui permet de comptabiliser les couleurs par technicien. Il marche mais pour moi il reste lourd au traitement des data (fonctions imbriquées) pour les douze mois.

Merci de votre réponse..

Amicalement,
MB
 

Mister Binaire

XLDnaute Occasionnel
Re : Remplissage automatique de case en couleur (vb)

Bonsoir le Forum,

Merci à Vous Deux Regueiro & Stam1600 pour votre aide bien précieuse.

Voici en PJ mon fichier "Anonyme" que j'avais modifié en suivant les conseils de Stam1600. (Tous les autres fichiers ont été supprimés du post)

Il comptabilise le nombre de couleur par technicien mais ce dernier reste lourd.

Je voudrais connaitre votre avis et savoir si d'après vous il est possible de l'alléger (fonctions imbriquées pour les 12 mois dans l'Onglet "Bilan").

Merci à Vous..

Amicalement,
MB
 

Pièces jointes

  • Planning Organisation Labo Anonyme.xlsm
    495.6 KB · Affichages: 67

Regueiro

XLDnaute Impliqué
Re : Remplissage automatique de case en couleur (vb)

Bonsoir à tous.
Je cherche à améliorer ce code qui permet de compter le nbre de couleur,
mais j'aimerais mettre une 2ème condition pour trouver le nom du technicien :

Code:
Sub CompterCouleur()
Dim Compteur As Integer
Dim sh As Worksheet
Dim mois As String
Dim i As Integer
Dim j As Integer
Dim cell As Range
mois = "Janvier,Février,Mars,Décembre"
i = 5
For i = 5 To 14
j = 9
For j = 9 To 18
Compteur = 0
Application.ScreenUpdating = False

For Each sh In Worksheets
    If InStr(mois, sh.Name) > 0 Then
        For Each cell In sh.Range("D9:AH19")
            If cell.Interior.ColorIndex = Sheets("Bilan").Range(Cells(7, i), Cells(7, i)).Interior.ColorIndex Then
            'And Cells(cell.Row, 3).Value = Sheets("Bilan").Range(Cells(j, 4), Cells(j, 4)).Value Then
            Compteur = Compteur + 1
            End If
        Next cell

    
    End If
Next sh
Sheets("Bilan").Range(Cells(j, i), Cells(j, i)) = Compteur
Next j
Next i
Application.ScreenUpdating = True


End Sub
Aller sur la feuille bilan et lancer la macro
Elle trouve bien le nombre de couleur par mois.

Merci de votre aide pour une amélioration et rapidité du code (un peu lent à mon gout )
 

Pièces jointes

  • XLD_vb-planning-mois-prevision-.xlsm
    385.7 KB · Affichages: 47
  • XLD_vb-planning-mois-prevision-.xlsm
    385.7 KB · Affichages: 53
  • XLD_vb-planning-mois-prevision-.xlsm
    385.7 KB · Affichages: 55

Mister Binaire

XLDnaute Occasionnel
Re : Remplissage automatique de case en couleur (vb)

Merci une fois de plus à toi Regueiro !!!

As-tu regardé mon précédent fichier qui lui compte par technicien les couleurs.

J'aimerai avoir ton avis sur ce dernier, cependant il reste très lourd !!

Merci de ton retour..

Amicalement,
MB
 

Regueiro

XLDnaute Impliqué
Re : Remplissage automatique de case en couleur (vb)

Bonjour à Tous.
Mister Binaire
En effet c'est très lourd.


J'ai essayé avec cette formule, mais ne marche pas à cause de la fonction
Code:
=CompteCouleurFond2(Janvier:Décembre!D12:AH12;jaune)

Je pense que si on modifie champ as Range par ?? cela devrait fonctionner
Code:
Function CompteCouleurFond2(champ As Range, couleurfond As Range)
'Code de BOISGONTIER (Merci !)
  Application.Volatile
  Dim c, temp
  temp = 0
  cf = couleurfond.Interior.Color
  For Each c In champ
    If c.Interior.Color = cf Then
      temp = temp + 1
    End If
  Next c
  CompteCouleurFond2 = temp
End Function

Mais je ne peux pas t'aider actuellement
A+
 

Regueiro

XLDnaute Impliqué
Re : Remplissage automatique de case en couleur (vb)

Bonsoir à Tous, Mister Binaire
Je cherche toujours le bon code, mais je n'y arrive malheureusement pas.
Voici un nouveau code mais toujours aussi long ?
Les onglets mois à boucler sont sur feuille "Bilan"
Tu sélectionnes les mois voulue en marquant avec un x la colonne choix.


Code:
Sub CompterCouleur2()
Dim Compteur As Integer
Dim sh As Worksheet
Dim mois
Dim i As Integer
Dim j As Integer
Dim cell As Range
Set mois = Sheets("Bilan").Range("nf")
MsgBox mois.Cells.Count & " mois"

i = 5
For i = 5 To 14
j = 9
For j = 9 To 18
Compteur = 0
Application.ScreenUpdating = False

For Each mois In Worksheets
        For Each cell In mois.Range("D9:AH19")
            If cell.Interior.ColorIndex = Sheets("Bilan").Range(Cells(7, i), Cells(7, i)).Interior.ColorIndex Then
            'And Cells(cell.Row, 3).Value = Sheets("Bilan").Range(Cells(j, 4), Cells(j, 4)).Value Then
            Compteur = Compteur + 1
            End If
        Next cell
Next mois
Sheets("Bilan").Range(Cells(j, i), Cells(j, i)) = Compteur
Next j
Next i
Application.ScreenUpdating = True
End Sub
Mais je n'arrive toujours pas à trouver les couleurs par techniciens ?
A+
 

Pièces jointes

  • XLD_vb-planning-mois-prevision-.xlsm
    389.7 KB · Affichages: 36
  • XLD_vb-planning-mois-prevision-.xlsm
    389.7 KB · Affichages: 36
  • XLD_vb-planning-mois-prevision-.xlsm
    389.7 KB · Affichages: 29

Regueiro

XLDnaute Impliqué
Re : Remplissage automatique de case en couleur (vb)

Bonsoir à Tous
Etant donné que je ne trouve pas la solution par VBA.
Voici une parade .
Dans les feuilles Mois, double-click ouvre USF choisir la couleur pour la ou les cellules.
Celle-ci est copier dans la ou les cellules avec la couleur, le Texte avec un Format ;;;.
Ainsi le texte n'apparaît pas.

Ensuite sur la Feuille ("Bilan").
faire une sommeprod.indirect nf par ligne, mais là je coince ???

Code:
SommeProd(INDIRECT("'"&nf&"'!A2:A100");

Je vous joint le fichier.
Merci de votre aide
 

Pièces jointes

  • XLD_Planning-mois-prevision V03.xlsm
    391 KB · Affichages: 24

Regueiro

XLDnaute Impliqué
Re : Remplissage automatique de case en couleur (vb)

Bonsoir à Tous
Mister Binaire
Ton fichier en retour.
Tout est OK
Dans la feuille Bilan les formules pour les Récapitulations par Mois choisis
et par Techniciens.

Il n'y plus de code VBA tout par Formule grâce à J.BOISGONTIER
Code:
=SOMMEPROD(NB.SI(DECALER(INDIRECT("'"&nf&"'!"&ADRESSE(LIGNE();4)&"");;;;31);E$7))

Voilà je crois que tout est en ordre.
Je reste à ta disposition au cas ou
bonne soirée
A+
 

Pièces jointes

  • XLD_vb-planning-mois-previsionV03.xlsm
    381.1 KB · Affichages: 35
  • XLD_vb-planning-mois-previsionV03.xlsm
    381.1 KB · Affichages: 38
  • XLD_vb-planning-mois-previsionV03.xlsm
    381.1 KB · Affichages: 36

Mister Binaire

XLDnaute Occasionnel
Re : Remplissage automatique de case en couleur (vb)

Bonsoir Regueiro ,

Une fois de plus merci de ton aide et de ton dévouement !!

En PJ ma version finale avec les douze mois qui malheureusement ne marche pas !!!

Je ne comprends pas pourquoi ??? Erreur dans les formules ??

Pourtant tout parait propre ??

Merci de me faire savoir d'où vient le problème ??

Amicalement,
MB
 

Pièces jointes

  • Planning Organisation Labo 1.xlsm
    477.9 KB · Affichages: 26

Regueiro

XLDnaute Impliqué
Re : Remplissage automatique de case en couleur (vb)

Bonjour
Tu n'as pas travailler avec mon fichier du Post N° 25
Dans ton fichier du Post N° 26
Rajouter ou compléter dans le module de classe
Code:
Public WithEvents GrBoutons As Msforms.CommandButton
Private Sub GrBoutons_Click()
  Selection.Interior.Color = GrBoutons.BackColor
  Selection.Font.Color = GrBoutons.ForeColor
  Selection.Value = GrBoutons.Caption
  Selection.NumberFormat = ";;;"
End Sub

Dans le module codecouleur
Code:
Sub Miseàzéro()
    Range("D9:AH19").Select
    With Selection
    .Interior.ColorIndex = xlNone
    .ClearContents
    .NumberFormat = "General"
    End With
    Range("A7").Activate
End Sub

Comme dis dans mon précédent Post

Bonsoir à Tous
Etant donné que je ne trouve pas la solution par VBA.
Voici une parade .
Dans les feuilles Mois, double-click ouvre USF choisir la couleur pour la ou les cellules.
Celle-ci est copier dans la ou les cellules avec la couleur, le Texte avec un Format ;;;.
Ainsi le texte n'apparaît pas.
Voilà Normalement cela doit être OK
A+
 

Staple1600

XLDnaute Barbatruc

Mister Binaire

XLDnaute Occasionnel
Re : Remplissage automatique de case en couleur (vb)

Bonsoir le Forum, Bonsoir Regueiro,

Merci à toi Regueiro pour tout le temps que tu as consacré à améliorer mon fichier.
Après avoir corrigé mes erreurs tout marche à merveille !!!

Je suis vraiment très content du travail obtenu, je vais pouvoir maintenant créer mes indicateurs par TCD à partir de la feuille Bilan.

Une fois de plus un Grand Merci à Regueiro et également aux autres membres du forum qui ont participé à l'amélioration du fichier.

Amicalement,
MB
 

Discussions similaires

Statistiques des forums

Discussions
312 395
Messages
2 088 035
Membres
103 705
dernier inscrit
mytek