Mettre un formule dans une macro.

  • Initiateur de la discussion Initiateur de la discussion flamilo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

flamilo

Guest
Bonjour j' ai besoin de votre aide svp.

Dans ma première feuille appelée "Synthèse" :
Dans ma cellule 02 il a : =SOMME.SI('10001'!A16:A37;"B";'10001'!F16:F39)
Dans ma cellule P2 il a : =SOMME.SI('10001'!A16:A37;"S";'10001'!F16:F39)

J'aimerais que ces formules soient insérées dans une macro qui existe déjà, la macro "Actualiser".. je n'y connait rien en VBA donc je ne sais pas ce qu'il faut rajouter ... And WITH ou qqchose comme ca.

J'aimerais en fait que des que je clique sur actualiser, que la formule s'applique aux nouvelles factures que j'ai ajoutées (tout comme les autres données du tableaux)

(en fait ces me permettrai de séparer BIEN et SERVICE en insérant un "S" ou un "B" dans la colonne A, SI vous avez d'autres solution plus simple je vous écoute !)
 

Pièces jointes

Re : Mettre un formule dans une macro.

Bonsoir flamilo,

Formule à mettre en O2 et à tirer vers le bas :
Code:
=SOMME.SI(INDIRECT($A2 & "!A16:A37");"B";INDIRECT($A2 & "!F16:F39"))

Formule à mettre en P2 et à tirer vers le bas :
Code:
=SOMME.SI(INDIRECT($A2 & "!A16:A37");"S";INDIRECT($A2 & "!F16:F39"))

A mon avis, la solution par formule représente plus d'intérêt que la solution par macro et en plus, elle est plus simple.

A+
 
Re : Mettre un formule dans une macro.

Bonsoir flamilo, Fred,

Ci-dessous l'écriture en VBA :

Code:
With Feuil1
    .Cells(2, 15).Value = "=SUMIF('10001'!R[14]C[-14]:R[35]C[-14],""B"",'10001'!R[14]C[-9]:R[37]C[-9])"
    .Cells(2, 17).Value = "=SUMIF('10001'!R[14]C[-14]:R[35]C[-14],""S"",'10001'!R[14]C[-9]:R[37]C[-9])"
End With
Bonne soirée.

Cordialement.
 
Re : Mettre un formule dans une macro.

Bonsoir,

une autre proposition avec modification du code.
Je vois tant de programmes avec des quantités de variables !
J'essaie de n"introduire que celles qui permettent d'écrire un code allégé comme par exemple
Code:
F.Range("A1:A" & F.Cells(Rows.Count,1).End(xlup).Row+1)
à la place de
Code:
Sheets("aTruc").Range("A1:A" &  Sheets("aTruc").Cells(Rows.count,1).End(xlup).Row+1)
avec plus loin bien d'autres références F (voir fichier joint pour s'en rendre compte).
 

Pièces jointes

Re : Mettre un formule dans une macro.

MERCI à tous pour vos messages ! c'est génial !!

J'aurais juste une derniere question... qqn m'a conseillé cette méthode qui est pas mal certes mais il n'empeche que un "S" et "B" apparaitront sur mes factures. Avez vous des solution ?

Je pensais a tout simplement mettre en blanc l'écriture => cela devient invisible mais est-ce pratique ?
Ou bien il y a-t-il un autre moyen ?

Encore merci pour vos réponses !
 
Re : Mettre un formule dans une macro.

Bonjour,

Pour que "S" et "B" n’apparaissent pas sur tes factures, il suffit que tu définisses la zone d’impression sur la plage B1 :G50.
Mettre en blanc l'écriture peut être un bon moyen pour cacher le chiffre correspondant au mode de paiement.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour