Compilation

schaps

XLDnaute Occasionnel
Bonjour à vous tous,

Je dois fournir une compilation des heures d'overtime à mon patron
Ds le fichier suivant il va y avoir 6 onglets et chaque onglet il y a des
cases en jaunes, ds l'onglet en rouge «Compilation» :

1) Nombre de case jaune «C4»;

2) Nombre de case avec un nom de personne «E4»;

3) Nombre de case avce soit: per, personne ou rien d'inscrit «G4».

merci
schaps
 

Pièces jointes

  • test sylvain.xls
    113.5 KB · Affichages: 68

Robert

XLDnaute Barbatruc
Repose en paix
Re : Compilation

Bonjour Schaps, bonjour le forum,

En pièce jointe ton ficher modifié avec le code ci-dessous :
Code:
Sub Macro1()
Dim o As Worksheet 'déclare la variable o (Onglet)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim cj As Integer 'déclare la variable cj (Cellule Jaunes)
Dim cjn As Integer 'déclare la variable cjn (Cellule Jaunes ayant un Nom)
Dim cjp As Integer 'déclare la variable cjp (Cellule Jaunes ayant Per, Personne ou vide)
 
For Each o In Sheets 'boucle 1 : sur tous les onglets du classeur
    If o.Name = "Compilation" Then GoTo suite 'si l'onglet se nome "Compilation" aller à l'étiquette "suite"
    For Each cel In o.UsedRange 'boucle 2 : sur toutes les cellules de la plage utilisée de l'onglet
        If cel.Interior.ColorIndex = 6 Then 'condition : si la couleur de la cellule est jaune
            cj = cj + 1 'incrémente la variable cj
            Select Case UCase(cel.Value) 'agit en fonction de la valeur de la cellule (convertie en majuscule)
                Case "", "PER", "PERSONNE" 'cas vide, PER ou PERSONNE
                    cjp = cjp + 1 'incrémentela variable cjp
                Case Else 'autres cas
                    cjn = cjn + 1 'incrémentela variable cjn
            End Select 'fin de l'action en fonction...
        End If 'fi de la condition
    Next cel 'prochaine cellule cel de la boucle 2
suite: 'étiquette
Next o 'prochain onglet dela boucle 1
 
With Sheets("Compilation") 'prend en compte l'onglet "Compilation"
    .Range("C4").Value = cj 'place cj en C4
    .Range("E4").Value = cjn 'place cjn en E4
    .Range("G4").Value = cjp 'place cjp en G4
End With
End Sub
Le fichier :
 

Pièces jointes

  • Schaps_v01.xls
    135 KB · Affichages: 51
  • Schaps_v01.xls
    135 KB · Affichages: 57
  • Schaps_v01.xls
    135 KB · Affichages: 58

schaps

XLDnaute Occasionnel
Re : Compilation

Bonjour Robert et à vous tous,

Merci beaucoup de ce tu as fait , j'ai fait un test avce le fichier modifié et j'ai rajouté des cases jaunes ds le premier
onglet mais les somme en C4 et G4 n'ont pas augmenté du tout. Ai-je fait une érreure ?

merci
schaps
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Compilation

Bonsoir Schaps, bonsoir le forum,

Ton fichier en pièce jointe. J'ai lancé la macro et obtenu les valeurs recopiées en L4, N4 et P4 de l'onglet Compilation. Puis dans l'onglet Daniel, j'ai coloré la plage B34:G34 en jaune (Attention ! Le Jaune clair ne marche pas...). J'ai relancé la macro et, regarde dans l'onglet Compilation les cellule C4, E4 et G4. Ça marche mais uniquement avec le jaune de l'avant dernière ligne de la liste des couleurs de base. Si tu utilises un autre jaune ça ne marchera pas...

Le Fichier :
 

Pièces jointes

  • Schaps_v01.xls
    134.5 KB · Affichages: 43
  • Schaps_v01.xls
    134.5 KB · Affichages: 46
  • Schaps_v01.xls
    134.5 KB · Affichages: 42

schaps

XLDnaute Occasionnel
Re : Compilation

Bonjour Rober et à vous tous,

Merci beaucoup Rober ça fonctionne très bien, je croyais qu'en fesant «enregistré» le total ce ferait tout seul, mais quand tu as parlé de relancer la macro ça marché très bien.

Merci encore pour le temps que tu as mis.

schaps
 

Discussions similaires

Réponses
4
Affichages
300
Réponses
16
Affichages
1 K

Statistiques des forums

Discussions
312 316
Messages
2 087 172
Membres
103 490
dernier inscrit
zatougraf