vba boucle feuille et calculs compter occurence

mubaze

XLDnaute Nouveau
bonjour,

je dispose de plusieurs feuilles avec ligne d'en tête:

1/ je souhaite que la macro boucle sur les feuilles en comptant le nombre d'occurence dans la colonne A, dans la colonne J. (sans la ligne d'en tete)

2/ donc pour la premiere feuille, cela va compter le nombre d'occurence en A (par exemple 8) et pour la colonne J (par exemple 2) et ensuite je voudrais que le resultats de ces comptage se mettent

nombre_col_A = sur une feuille qui s'appelle déjà sommaire et que j'ai créé à l'avance. sur cette feuille sommaire, il y a en colonne A, dans les cellules de haut en bas, le nom des onglets. donc j'aimerai s'il vous plait que le resultat du comptage nombre_col_A se mettent dans la feuille sommaire en cellule E2 puis en bouclant que ça se mettent en E3 pour la feuille suivante etc.

Pour recapituler:

par feuille: il y a 3 infos à recuperer
1/le nombre d'occurence en colonne A (les non vides)
2/le nombre d'occurence en colonne B (les non vides)
3/le difference entre 1 et 2

ces infos doivent être copier: dans la feuille sommaire qui existent déjà:
pour la premiere feuille, les resultats se mettent en E2,F2 et G2
pour la deuxieme feuille les resultats se mettent en E3, F3 et G3

etc

Je vous remercie pour votre aide !

voilà ce que j'ai commencé à faire sans réussir à boucler sur les feuilles...

mon code:
For Each sh In sheets

a = Application.WorksheetFunction.CountA(Range("A2:A65536"))
b = Application.WorksheetFunction.CountA(Range("AI2:AI65536"))
c = a - b
sheets("sommaire").Range("E2") = c


sheets.Cells("i, 5") = c

Next sh
 

klin89

XLDnaute Accro
Re : vba boucle feuille et calculs compter occurence

Bonjour à tous,
Bonjour mubaze,

Dans le fil ci-dessous, la version6 du fichier de Gael devrait t'inspirer.

Un brin d'explications :

Feuille "Recherche1", tu saisis l'occurence recherchée (exemple jp) dans la "CmbChauffeurs" du formulaire.

La recherche s'effectue alors en colonne C de toutes les feuilles dont le nom commence par "Caisse".

Le report des lignes se fait alors en feuille "Recherche1".

En bout de colonne D et E, la somme des montants est calculé automatiquement (ligne : total) ainsi que le nombre d'occurences (ligne : nombre de valeurs).

En colonne F, le solde (E - D) est aussi calculé.

Est-ce que cela reflète ta demande ?

Maintenant, je passe le relais aux experts en VBA, qui avec un fichier joint, pourront s'inspirer de l'exemple de Gael et répondre à ta demande.

https://www.excel-downloads.com/threads/sumproduct.106998/

Amicalement klin89
 
Dernière édition:

mubaze

XLDnaute Nouveau
Re : vba boucle feuille et calculs compter occurence

Bonjour,

Merci d'avori répondu. Mais dommage ce n'est pas ce que je voulais.

en fait j'aimerai que la macro compte sur toutes les feuilles le nombre d'occurence puis à chaque feuilles il colle sur une feuille le resultat:

je te donne une exemple de ce que j'attends. Merci d'avance.
 

Pièces jointes

  • données.xls
    27.5 KB · Affichages: 192
  • données.xls
    27.5 KB · Affichages: 212
  • données.xls
    27.5 KB · Affichages: 208

mubaze

XLDnaute Nouveau
Re : vba boucle feuille et calculs compter occurence

bonjour,

est ce que quelqu'un aurait une idée de comment compter sur toutes les feuilles le nombres d'occurences de certaines colonnes tout enfaisant une opération puis en collant le resultat sur une feuille.

Merci de votre aide
 

mubaze

XLDnaute Nouveau
Re : vba boucle feuille et calculs compter occurence

Bonjour à tous,

Un essai en cliquant sur le GO

A+ à tous
waouh,

c'est magnifique.

merci infiniment, je vais essayer de comprendre. j'ai le cerveau qui chauffe...surement moins que toi.

cela marche nickel, néanmoins j'ai pu remarquer que la colonne qui remonte n'était pas la bonne:

dans date regroupement c'est AI et pas AJ. Cela dit j'ai modifié dans la formule excel mais apparememnt ça ne suffit pas... je ne vois pas trop dansla macri où il faut que je modifie dans module 1 ou module 2 ?

Merci beaucoup.

j'ai hate de devenir aussi fort que toi. : )
 

JCGL

XLDnaute Barbatruc
Re : vba boucle feuille et calculs compter occurence

Bonjour à tous

Je me suis trompé sur les colonnes :

Code:
Option Explicit

Sub Recap()
Dim X As Integer
Range("C2:F500").ClearContents
Application.ScreenUpdating = 0
For X = 2 To Sheets.Count
With Sheets("Sommaire")
.Range("C" & X).Value = Sheets(X).Name
.Range("D" & X).Formula = "=IF(RC3="""","""",COUNTA(INDIRECT(""'""&RC3&""'!C:C""))-1)"
.Range("E" & X).Formula = "=IF(RC3="""","""",COUNTA(INDIRECT(""'""&RC3&""'!AI:AI""))-1)"
.Range("F" & X).Formula = "=IF(RC3="""","""",RC[-2]-RC[-1])"
End With
Next X
End Sub
Je modifie le fichier en ce sens

A + à tous

PS : un véritable pro aurait utilisé du code et OFFSET()... à la différence de mon bricolage "formuloVBAstique"
 

Pièces jointes

  • JC Boucle Recap.zip
    13.1 KB · Affichages: 187
Dernière édition:

mubaze

XLDnaute Nouveau
Re : vba boucle feuille et calculs compter occurence

bonjour,

oui j'imagine que l'on peut écrire de divers maniere plus ou moins efficace.

offset ? je ne connais pas

en tout cas, je me suis rendu compte que ça ne me ramener pas toutes les feuilles. En fait, lorsque j'ai des filtre sur mes feuilles ou des volets qui sont activer ... ça ne ramene pas la feuille.

donc j'ai essayé d'écrire le code et ça boucle bien sur les filtres. J'ai mis les autofilter en false. Par contre, pour liberer les volets en terme de boucle je n'y arrive pas.

activewindow.freezepanes = false

Merci de ton aide.
 

JCGL

XLDnaute Barbatruc
Re : vba boucle feuille et calculs compter occurence

Bonjour à tous,

Tu es vraiment plein de surprises...
Si tu donnais la structure complète de tes feuilles cela irait plus vite et plus efficacement

Normalement cela devrait convenir :
Code:
ActiveWindow.FreezePanes = False
L'as-tu placé au bon endroit ?

A+ à tous

Edition : Je viens de tester les filtres et les volets n'ont pas d'incidence sur le rapatriement des données
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch