XL 2010 faire fonction countif/sumif en VBA

yahya belbachir

XLDnaute Occasionnel
Bonjour
de retour
je veux réaliser un plan statistique qui a pour but de m'envoyer des résultats de la base des données"Feuil1" vers planning statistique,je l'ai déjà effectué avec des formules,
ma question est ce que je puisse l'effectué en VBA?
mon fichier çi joint porte des explications de plus.
merci
 

Pièces jointes

  • stat.xlsx
    14.4 KB · Affichages: 7
Solution
Il y a un problème avec
Workbook.Activate
qui parfois n'affiche pas le classeur dans certaines conditions (non identifiées).

J'ai d'abord trouvé une solution avec:
Workbook.Activate
Workbook.Windows(1).Visible = True


Mais il semble que:
Windows(Workbook..Name).Activate
soit la meilleure solution.

Le fichier a été (encore) modifié en conséquence.

yahya belbachir

XLDnaute Occasionnel
Bonjour j'ai pu resoudre le premier pas d'effectuer l'application countifs en vba dansla (feuille2).
ce que je n'arrive pas à faire, c'est d'effectuer l'opération countifs entre deux dates,dans la (feuille3)
voiçi mon fichier si possible de me trouver une bonne solution.
 

Pièces jointes

  • test.static.xlsm
    24.4 KB · Affichages: 4

Dudu2

XLDnaute Barbatruc
Des formules disparaissent ? C'est étrange ! Pourquoi ? D'autres que toi manipulent ce fichier ?
Dans ce cas, il faut verrouiller les cellules qui contiennent des formules et protéger la feuille avec un mot de passe vide (voir outil joint).

Si tu veux vraiment faire du VBA, il y a 2 autres options:
- Replacer les formules SOMMEPROD dans les cellules par le code
- Utiliser Application.WorksheetFunction.SumProduct plutôt que le .CountIfs au moins pour le 2ème car je ne sais pas faire avec le CountIfs.

Edit: Classeur supprimé
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
J'ai modifié le fichier de mon dernier post (outil pour verrouiller les cellules contenant une formule) pour:
- corriger ou améliorer des messages,
- accélérer le traitement avec un Application.ScreenUpdating,
- déverrouiller toutes les cellules de la feuille ne contenant pas de formule (et pas seulement celles du UsedRange).
 
Dernière édition:

yahya belbachir

XLDnaute Occasionnel
J'ai modifié le fichier de mon dernier post (outil pour verrouiller les cellules contenant une formule) pour:
- corriger ou améliorer des messages,
- accélérer le traitement avec un Application.ScreenUpdating,
- déverrouiller toutes les cellules de la feuille ne contenant pas de formule (et pas seulement celles du UsedRange).
merci infiniment Dudu,cela est professionnelle
 

Dudu2

XLDnaute Barbatruc
En améliorant j'ai (presque évidemment !) introduit un (petit) bug de compteur.
Du coup j'ai encore amélioré :p !
Avec des fonctions supplémentaires de coloriage des cellules (hors MFC) pour mieux les repérer.
Le nouveau fichier est toujours dans le post précédent lui-même modifié pour l'y inclure.
 

Dudu2

XLDnaute Barbatruc
Comme c'est un truc un peu complexe (gestion des colorisations sur plusieurs classeurs/feuilles en parallèle), en cas de bug rencontré, me donner le scénario pour reproduire.
Bien prendre le dernier fichier placé ce jour à 15h00 !
 

yahya belbachir

XLDnaute Occasionnel
Comme c'est un truc un peu complexe (gestion des colorisations sur plusieurs classeurs/feuilles en parallèle), en cas de bug rencontré, me donner le scénario pour reproduire.
Bien prendre le dernier fichier placé ce jour à 15h00 !
Bonjour Dodu,
veuillez m'excuser je nai pas bien remarqué,ceci est vraiment bon,moi j'ai déjà fais avec le premier,mais je pense avec les Couleurs MFC,ce sera mieux pour savoir les formules verrouiller.
sincérement je vous remercie pour votre aide.
Cordialement
YAHYA
 

Dudu2

XLDnaute Barbatruc
Bonjour Yahya,

Tu peux clarifier ? Est-ce que tu veux dire que pour mettre en couleur les cellules je ferais mieux d'utiliser une MFC au lieu de les coloriser directement en utilisant .Interior.Color ?

C'est sans doute vrai avec les cellules contenant une formule car je pourrais créer une MFC (priority 1) en utilisant la fonction Excel ESTFORMULE pour la MFC. Je vais créer une autre version pour utiliser cette méthode.

Par contre il n'y a aucune fonction Excel indiquant si une cellule est verrouillée. Et là je suis obligé de tester les cellules directement et placer la couleur sur la cellule, ce qui n'a pas d'effet si la cellule est colorée pour une MFC quelconque qui prend la priorité sur le .Interior.Color !
Sauf à créer une fonction personnalisée et l'utiliser dans une MFC (priority 1). Je vais voir ça.
 

yahya belbachir

XLDnaute Occasionnel
Bonjour Yahya,

Tu peux clarifier ? Est-ce que tu veux dire que pour mettre en couleur les cellules je ferais mieux d'utiliser une MFC au lieu de les coloriser directement en utilisant .Interior.Color ?

C'est sans doute vrai avec les cellules contenant une formule car je pourrais créer une MFC (priority 1) en utilisant la fonction Excel ESTFORMULE pour la MFC. Je vais créer une autre version pour utiliser cette méthode.

Par contre il n'y a aucune fonction Excel indiquant si une cellule est verrouillée. Et là je suis obligé de tester les cellules directement et placer la couleur sur la cellule, ce qui n'a pas d'effet si la cellule est colorée pour une MFC quelconque qui prend la priorité sur le .Interior.Color !
Sauf à créer une fonction personnalisée et l'utiliser dans une MFC (priority 1). Je vais voir ça.
Bonsoir Dodu
ça je ne sais pas comment soit dans les cellules,si vous voulez passe moi voire si cela sera mieux d'utiliser MFC que de colorer.
 

Discussions similaires