Avec vba, écrire une formule dans une cellule

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

L

Lsg

Guest
Bonjour.

Lorsque j'utilise ce code en vba, j'ai un message d'erreur.
Ai tenté de trouvé le problème, mais sans résultat.
Pourrierz-vous m'aider ?

'=>Erreur d'exécution '1004', erreur définie par l'application ou par l'objet
Worksheets(2).Range("A" & cpt).Formula = "=SI(ESTNUM(A"'& (cpt - 1) & ");A" & (cpt - 1) & " + 1 ; 1)"

Je ne crois pas que le problème vienne de la partie droite du =, je l'ai vérifiée, revérifiée et re-re-re-vérifiée !

Merci.


Lsg
 
Re : Avec vba, écrire une formule dans une cellule

Bonjour,

J'espère que vous allez tous à merveille!
Ma question est la suivante: Comment rendre une ligne ou une colonne variable dans une formule VBA comme la suivante:
Range("C8").Select
Selection.FormulaArray = _
"=+MMULT(TRANSPOSE(R21C31:R26C31),MMULT(R21C34:R26C39,R21C31:R26C31))+MMULT(TRANSPOSE(R21C32:R26C32),R21C30:R26C30)"

Je souhaite rendre le nombre 26 variable selon un compteur i (numéro de la dernière ligne prise en compte dans le vecteur et idem pour le numéro de colonne....

Remarque: La formule a été générée automatiquement via une macro enregistrée!

Merci pour votre aide!

Je vous souhaite une très belle journée
 
Re : Avec vba, écrire une formule dans une cellule

Bonjour
Pas le temps de tester mais essaies

Range("C8").Select
Selection.FormulaArray = _
"=+MMULT(TRANSPOSE(R21C31:R" & i & "C31),MMULT(R21C34:R" & i & " C39,R21C31:R" & i & "C31))+MMULT(TRANSPOSE(R21C32:R" & i & "C32) ,R21C30:R" & i & "C30)"

Bonne journée
 
Re : Avec vba, écrire une formule dans une cellule

salut

En passant par des Tableaux (Tables), la formule s'allège et tu n'as plus qu'à te préoccuper de la correspondance nombre de lignes - nombre de colonnes pour les produits matriciels.

Quels que soient les nombres de lignes, de colonnes
Sub Macro()
[C8].FormulaArray = "=MMULT(TRANSPOSE(TE),MMULT(TH,TE))+ MMULT(TRANSPOSE(TF),TD)"
End Sub

avec ma version 2010
Formules Tableaux.jpg
 
Re : Avec vba, écrire une formule dans une cellule

#PascalXLD: Merci beaucoup pour votre prompte réponse!
Votre formule marche très bien..

#SI...: Merci beaucoup aussi. C'est super comme idée!

C'est génial d'avoir des personnes comme vous 🙂

je vous souhaite une très belle journée 🙂
 
- 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

Réponses
6
Affichages
693
Retour