Transposer formule en VBA

  • Initiateur de la discussion Initiateur de la discussion mcj1997
  • 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 !

mcj1997

XLDnaute Accro
Bonjour
Je souhaite transposer cette formule en VBA car je ne souhaite pas protéger ma feuille mais ne veux pas que les formules soient accessibles.



Si(et(c14>=j24;c14<j11);">>>";"")

Merci d'avance
 
Re : Transposer formule en VBA

Bonjour Mcj, le forum,

voici une astuce que je donnais dans le post https://www.excel-downloads.com/threads/formule-en-vba.216315/ afin de récupérer une formule...
Ciao Ilino,

une petite astuce que j'utilise pour transformer mes formules dans vba:
tu lances l'enregistreur de macro, tu double-clik sur la cellule où est la formule, tu rentres dans la barre de formule et tu valides avec la coche verte et tu arrêtes l'enregistreur.
Normalement, dans un module tu retrouves le code vba de ta formule.

en espérant que ça t'aide!
A+
 
Re : Transposer formule en VBA

Bonjour Mcj, le forum,

voici une astuce que je donnais dans le post https://www.excel-downloads.com/threads/formule-en-vba.216315/ afin de récupérer une formule...


en espérant que ça t'aide!
A+

Bonjour,

J'ai essayé c'est ok par contre j'ai une question, j'ai testé avec une formule simple (a4:b2), ma demande est la suivante est-il possible que lorsque l'opération s'effectue la formule ne s'affiche pas mais seulement le résultat ?

Deuxième question dans le même esprit j'ai des références dans une feuil2, est-il possible que cette feuille soit recopiée entièrement en VBA et qu'ainsi les données ne soient pas accessibles ?

Merci d'avance,
 
Re : Transposer formule en VBA

Bonsoir à tous

mcj1997
Si j'ai bien compris, regarde ce petit exemple d'illustration
Mets ce code dans le code de la feuille (pas dans un module)
(-> clic-droit sur l'onglet -> Visualiser le code)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
If Target.Row = 5 Then Exit Sub
End If
Range("A5") = Application.Sum(Range("A1:A4"))
End Sub

Ensuite, retournes sur la feuille, et saisis des chiffres en A1,A2,A3 ou A4
tu auras la somme en A5 sans avoir la formule mais juste le résultat
 
Re : Transposer formule en VBA

Salut

J'ai essayé c'est ok par contre j'ai une question, j'ai testé avec une formule simple (a4:b2), ma demande est la suivante est-il possible que lorsque l'opération s'effectue la formule ne s'affiche pas mais seulement le résultat ?

pas de formule (celle du #1), seulement le résultat, donc
Code:
  Dim P As Range 'on peut le faire directement sans cette variable
  Set P = [A2:B4]
  P.FormulaR1C1 = "=IF(AND(R[12]C[1]>=R[22]C[8],R[12]C[1]<R[9]C[8]),"">>>"","""")"
  P = P.Value
 
Re : Transposer formule en VBA

Bonjour

pourquoi ne pas essayé de créer les fonctions sous VBA (à me mettre dans un module)
la fonction Si(et(c14>=j24;c14<j11);">>>";"") deviens
VB:
Public Function test1(e1, e2, e3)
  If (e1 >= e2) And (e1 < e3) Then
    test1 = ">>>"
  Else
    test1 = ""
  End If
End Function

en protegeant l'édition des macros.....
 
- 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

Discussions similaires

Réponses
2
Affichages
167
  • Résolu(e)
Microsoft 365 transposer
Réponses
6
Affichages
291
Réponses
6
Affichages
170
Réponses
8
Affichages
400
Réponses
10
Affichages
179
  • Question Question
Microsoft 365 Formule
Réponses
3
Affichages
196
Réponses
5
Affichages
280
Retour