Nombre d'occurrences dans une feuille selon deux critères

heparti

XLDnaute Occasionnel
Bonjour,

Je souhaite trouver le moyen de totaliser le nombre d'occurrences en colonne E (donnée à définir) en fonction d'une certaine donnée en colonne I. Les données sont alphanumériques (classeur 1).

Ces occurrences doivent être reportées dans le classeur 2.

Cette opération est à renouveler pour chaque mois, ainsi qu'un récapitulatif pour l'année dans la feuille "Recap-année".

Merci pour votre aide.
 

Pièces jointes

  • Classeur1.zip
    3.1 KB · Affichages: 38
  • Classeur1.zip
    3.1 KB · Affichages: 39
  • Classeur1.zip
    3.1 KB · Affichages: 36

Robert

XLDnaute Barbatruc
Repose en paix
Re : Nombre d'occurrences dans une feuille selon deux critères

Bonjour Heparti, bonjour le forum,

Tes fichiers exemples n'ont pas assez de données pour comprendre ce que tu désires (en tous cas moi, j'ai pas compris...). Je pense que tu devrais faire l'effort de mettre plus de données et des données plus explicites et surtout de mettre dans le classeur de destination le résultat que tu souhaiterais obtenir après la macro (ou les formules) avec les explications.
Hé oui désolé mais il faut que tu travailles un peu (aussi)...!
 

heparti

XLDnaute Occasionnel
Re : Nombre d'occurrences dans une feuille selon deux critères

Aucun problème, je n'avais pas pensé à compléter les deux tableaux d'exemple.

J'espère que ceux-ci seront plus parlant et permettront de comprendre ma problématique.

La solution peut passer soit par une formule ou une macro.

Je ferais le maximum bien entendu pour apporter d'autres explications si nécessaire ou remodifier les tableaux en exemple.

Merci.
 

Pièces jointes

  • Classeur1.zip
    4.6 KB · Affichages: 34
  • Classeur1.zip
    4.6 KB · Affichages: 38
  • Classeur1.zip
    4.6 KB · Affichages: 27

JNP

XLDnaute Barbatruc
Re : Nombre d'occurrences dans une feuille selon deux critères

Bonjour Helestpartie :)... avec Robert :p, l'homme à l'imper :eek: !
Désolé, j'ai pas pu m'empêcher de penser à Gotainer :rolleyes:...
Vois si le classeur 2 (un peu corrigé :p) marche avec ton classeur 1 :)
C'est surtout qu'on ne fait pas correspondre deuxième avec second, et qu'en modifiant le nom de tes feuilles récap (changement de "-" en "_"), ça permet de faire la somme directe des 12 feuilles :rolleyes:...
Bonne soirée :cool:
 

Pièces jointes

  • Classeur2.xls
    32.5 KB · Affichages: 71
  • Classeur2.xls
    32.5 KB · Affichages: 65
  • Classeur2.xls
    32.5 KB · Affichages: 73

Robert

XLDnaute Barbatruc
Repose en paix
Re : Nombre d'occurrences dans une feuille selon deux critères

Bonjour Heparti, bonjour le forum,

en pièce jointe le classeur1 avec la macro ci-dessous (désolé je ne sais pas faire avec des formules...) :
Code:
Sub Macro1()
 
'**************************
'déclarations des variables
'**************************
Dim cs As Workbook 'déclare la variable cs (Classeur Source)
Dim cc As Workbook 'déclare la variable cc (Classeur Cible)
Dim os As Worksheet 'déclare la variable os (Onglet Source)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim li As Byte 'déclare la variable li (LIgne)
Dim col As Byte 'déclare la variable col (COLonne)
Dim oc As Worksheet 'déclare la variable o (Onglet Cible)
'Dim dest As Range 'déclare la variable dest (DESTination)
 
'****************************************
'définition des classeurs source et cible
'****************************************
Set cs = ThisWorkbook 'définit le classeur source
Set cc = Workbooks("Classeur2.xls") 'définit le classeur cible (à adapter...)
 
For Each os In cs.Sheets 'boucle 1 : sur tous les onglets du classeur source
 
    '**********************
    'définition de la plage
    '**********************
    With os 'prend en compte l'onglet
        dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne
        Set pl = .Range("E2:E" & dl) 'définit la plage pl
    End With 'fin de la prise en compte de l'onglet
 
    '**********************
    'définition de la ligne
    '**********************
    For Each cel In pl 'boucle 2 : sur toutes les cellules de la plage pl
        Select Case UCase(cel.Value) 'agit en fonction de la valeur de la cellule (convertie en majuscule)
            Case "PREMIER" 'cas "PREMIER"
                li = 2 'définit la ligne
            Case "SECOND", "DEUXIÈME" 'cas "SECOND" ou "DEUXIÈME"
                li = 3 'définit la ligne
            Case "TROISIÈME" 'cas "TROISIÈME"
                li = 4 'définit la ligne
        End Select 'fin de l'action en fonction de...
 
        Set oc = cc.Sheets("Récap-" & os.Name) 'définit l'onglet cible
 
        '************************
        'définition de la colonne
        '************************
        On Error Resume Next 'gestion des erreur, si une erreur est générée passe à la ligne suivante
        col = oc.Rows(1).Find(cel.Offset(0, 4).Value, , xlValues, xlWhole).Column 'définit la colonne col (génère une erreur si la recherche n'aboutit pas)
        If Err > 1 Then 'condition : si une erreur est générée
            MsgBox "Le circo ne correspond pas à une région définie dans le classeur cible !" 'message
            cel.Offset(0, 4).Select 'sélectionne la cellule colonne I "circo"
            Exit Sub 'sort de la procédure
        End If 'fin de la condition
        On Error GoTo 0 'annule la gestion des erreurs
 
        '*******************************************
        'incrémentation des valeur du classeur cible
        '*******************************************
        oc.Cells(li, col).Value = oc.Cells(li, col).Value + 1 'incrément la valeur de la cellule li/col de l'onglet cible du classeur cible
    Next cel 'prochaine cellule de la boucle 2
Next os 'prochain onglet de la boucle 1
End Sub

[Édition]
Bonjour JNP on s'est croisé. J'adore Gotainer...
 

Pièces jointes

  • Classeur1.xls
    34.5 KB · Affichages: 54
  • Classeur1.xls
    34.5 KB · Affichages: 62
  • Classeur1.xls
    34.5 KB · Affichages: 59

heparti

XLDnaute Occasionnel
Re : Nombre d'occurrences dans une feuille selon deux critères

Merci pour vos propositions que j'ai n'ai pas eu le temps de regarder mais ce sera fait le 12septembre prochain, date de mon retour de vacances :D :D

Je vous tiendrai informé à ce moment si une ou les deux fonctionnent ;)

A la semaine prochaine ;)
 

heparti

XLDnaute Occasionnel
Re : Nombre d'occurrences dans une feuille selon deux critères

re-bonjour,

Me revoici avec pas mal de retard pour le suivi de ma demande.

Je vais finalement utiliser la version avec formule qui correspond à mes besoins.

Merci donc à Robert pour sa proposition et à JNP pour sa proposition retenue.

Bonne journée et bravo pour l'esprit dont vous faites preuve.
 

Discussions similaires

Statistiques des forums

Discussions
312 297
Messages
2 086 972
Membres
103 414
dernier inscrit
Congelus