Formule renvoi #NOM? sous VBA

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

jdo94

XLDnaute Nouveau
Bonjour à tous

J’ai un modele de tableau (outil pour faire des devis) sur lequel je souhaite faire des sous totaux avec la formule « sous.total »
Je souhaite sélectionner une plage de cellules manuellement et lancer une macro qui en dessous de la plage sélectionnée m’insère la formule en question
J’ai écrit la macro suivante :

Sub Macro2()
Application.ScreenUpdating = False
a = Selection.Address(0, 0)
c = Mid(Selection.Address(0, 0), InStr(1, Selection.Address(0, 0), ":") + 1, Len(Selection.Address(0, 0)))
Range(c).Offset(1, 0).Select
ActiveCell.Formula = "= SOUS.TOTAL(9," & a & ")"
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Interior
.ThemeColor = xlThemeColorAccent2
.TintAndShade = 0.7
End With
Application.ScreenUpdating = True


Le problème c’est que la formule tout étant bonne s’affiche en #NOM?
Et pour tout remettre correctement et faire apparaitre le total il faut faire F2 et valider
Je vous remercie d’avance si un de vous peut m’aider
NOTA ( j’utilise excel 2007 et avec un fichier xls)
 
Re : Formule renvoi #NOM? sous VBA

Bonjour et bienvenue sur le forum,

Pour le nom de la formule c'est en anglais avec Formula

Code:
With Selection
Sub Macro2()
    With Selection
        '.Cells = cellules de la sélection .Count (le nombre de cellules de la sélection) +1 pour dépasser la sélection
        .Cells(.Cells.Count + 1).Formula = "=SUBTOTAL(9," & .Address(0, 0) & ")"
        With .Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlMedium
        End With
        With .Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlMedium
        End With
        With .Interior
            .ThemeColor = xlThemeColorAccent2
            .TintAndShade = 0.7
        End With
    End With
End Sub

End With


P.S. pour connaître le nom des formules en anglais, les taper en français dans une cellule. Garde la cellule sélectionnée.
Dans l'éditeur VBE ouvrir la fenêtre exécution (CTRL+G) et taper dedans : ?ActiveCell.Formula
Point d'interrogation compris
Puis valider, la formule de la cellule active s'affichera en dessous et en anglais
A+

[Edition] hello Hervé🙂 cela faisait longtemps que nous ne nous croisions plus!
Hello Gilbert🙂
 
Dernière modification par un modérateur:
Re : Formule renvoi #NOM? sous VBA

Bonsour® à tous

lors de l'utilisation de VBA conjointement aux formules de feuille de calcul
utilisez la notation US pour Formula= "bla-bla-US"
sinon utilisez FormulaLocal="blabla-FR"

😎
ActiveCell.FormulaLocal = "= SOUS.TOTAL(9;" & a & ")"
remarquez le changement de , en ;
 
- 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
8
Affichages
894
  • Question Question
XL pour MAC Recherche date
Réponses
5
Affichages
2 K
Réponses
1
Affichages
597
Compte Supprimé 979
C
Réponses
13
Affichages
3 K
Retour