Formule en macro possible ?

  • Initiateur de la discussion nonothedoc
  • Date de début
N

nonothedoc

Guest
et rebonjour à tous,
malade chez moi (chikungunuya), j'essaie malgré la fatigue d'améliorer mon excel ...

j'ai un fichier avec des formules redondantes dans les cellules en fonction d'autres cellules :

Ou puis-je trouver un fichier exemple pour creér une macro (je pense avec des variables) pour concevoir une telle macro ?

c'est pas simple de se lancer avec des variables à priori et des boucles ……

existe-t-il une fonction du genre :

la valeur de la cellule = position de la cellule + 1

x = A10
Y = A10+1 donc devient la cellule A11



ex: ( j'ai pris une formule simple mais que j'ai 35 fois en ligne)

cellule A10

=(NB.SI(M$11:N$11;$D57)-SOMMEPROD(($C$11=1)*(M$11:N$11=$D57)))+(NB.SI(M$18:N$18;$D57)-SOMMEPROD(($C$18=1)*(M$18:N$18=$D57)))+(NB.SI(M$25:N$25;$D57)-SOMMEPROD(($C$25=1)*(M$25:N$25=$D57)))+(NB.SI(M$32:N$32;$D57)-SOMMEPROD(($C$32=1)*(M$32:N$32=$D57)))+(NB.SI(M$39:N$39;$D57)-SOMMEPROD(($C$39=1)*(M$39:N$39=$D57)))


cellule A11

=NB.SI(M$11:N$11;$D58)-SOMMEPROD(($C$11=1)*(M$11:N$11=$D58)))+(NB.SI(M$18:N$18;$D58)-SOMMEPROD(($C$18=1)*(M$18:N$18=$D58)))+(NB.SI(M$25:N$25;$D58)-SOMMEPROD(($C$25=1)*(M$25:N$25=$D58)))+(NB.SI(M$32:N$32;$D58)-SOMMEPROD(($C$32=1)*(M$32:N$32=$D58)))+(NB.SI(M$39:N$39;$D58)-SOMMEPROD(($C$39=1)*(M$39:N$39=$D58)))

a vivement la retraite ;-)

Merçi et bon week-end a tous. La réunion vous salue
 

Dull

XLDnaute Barbatruc
Re nonothedoc, Bonjour le Forum

(je dit re parce que je t'ai répondu sur un autre fil il y a pas 10 minutes)

Alors compatriote t'as eu le Chik, pas de bol tu fait parti des plus 186 000 adhérents au club du 'vilain moustique' t'as essayé le Z... (parait que ça soulage) Non je plaisante.
Pour ton problème éffectivement une procédure VBA serai plus judicieuse qu'une formule (Pardon Monique) mais pour pouvoir t'aider un bout de ton fichier nous serait bien utile (50Ko zippé, sans espaces ni caractères spéciaux)

Bon courage, soigne toi bien et espérons que le Cyclone prévu passe au plus loin de chez nous :ermm:

@+ :woohoo:
 

JeanMarie

XLDnaute Barbatruc
Bonjour

Si je puis me permettre, chaque partie de ta formule
=(NB.SI(M$11:N$11;$D57)-SOMMEPROD(($C$11=1)*(M$11:N$11=$D57)))
peut être remplacer par
=SOMMEPROD(($C$11SymboleInférieurSupérieur1)*(M$11:N$11=$D57)))


Cela simplifera ta formule, et diminuera les temps de calcul.

@+Jean-Marie

Message édité par: JeanMarie, à: 04/03/2006 07:35
 

Monique

Nous a quitté
Repose en paix
Bonjour,

Si tes données sont toutes les 7 lignes et démarrent en ligne 11 Mod(11;7)=4
à essayer en A10 :
=SOMMEPROD(NB.SI($D57;M$11:N$39)*(C$11:C$39 différent de 1)*(MOD(LIGNE(M$11:M$39);7)=4))
à copier-coller vers le bas.
En A11, ça donne :
=SOMMEPROD(NB.SI($D58;M$11:N$39)*(C$11:C$39 différent de 1)*(MOD(LIGNE(M$11:M$39);7)=4))

Le total de 5 premières formules sans le détail ligne par ligne :
=SOMMEPROD(NB.SI(D57:D61;M11:N39)*(C11:C39 différent de 1)*(MOD(LIGNE(M11:M39);7)=4))
(les valeurs de M11:M39 une ligne sur 7, comparées aux valeurs de D57:D61)
 

Discussions similaires

  • Question
Microsoft 365 Planning
Réponses
2
Affichages
1 K
Réponses
1
Affichages
1 K

Statistiques des forums

Discussions
312 337
Messages
2 087 392
Membres
103 534
dernier inscrit
Kalamymustapha