XL 2019 Restitution cellule

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 !

risch_cyril

XLDnaute Nouveau
Bonjour,
mon code devrait restituer une valeur numérique, mais il me restitue du texte. Comment cela se fait t-il ?
VB:
Sub Calcul()
Dim chemin$, fichier$, a(), n&
chemin = ThisWorkbook.Path & "\"
fichier = Dir(chemin & "gestion*.xlsx")
ReDim a(1 To Rows.Count, 1 To 2)
While fichier <> ""
    n = n + 1
    a(n, 1) = fichier
    a(n, 2) = "=SUM('" & chemin & "[" & fichier & "]" & "Janvier:Décembre'!C168)" 'formule de liaison
    fichier = Dir
Wend
'---restitution---
With Feuil1 'CodeName à adapter
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    With .[E2] '1ère cellule de destination, à adapter
        If n Then .Resize(n, 2) = a
        If n Then
            .Offset(n + 1) = "Total"
            .Offset(n + 1, 1) = "=SUM(R[" & -n - 1 & "]C:R[-2]C)"
        End If
    End With
    With .UsedRange: End With 'actualise la barre de défilement verticale
End With
End Sub
 
Bonjour.
Il manque .FormulaR1C1 derrière .Offset(n + 1, 1)
Sinon il assume .Value, qui peut éventuellement marcher quand même si c'est une formule en notation A1, mais pas R1C1. La ligne absolue serait plus simple, non ?
VB:
.Offset(n + 1, 1).FormulaR1C1 = "=SUM(R2C:R[-2]C)"
 
Dernière édition:
Bonjour rish_cyril, Bernard,

Il s'agit (à peu près) du code que je vous ai donné, il manque cependant une ligne pour l'effacement.

Donc comme je l'ai déjà dit vous modifiez mes codes et fichiers, alors débrouillez-vous.
Il manque .FormulaR1C1 derrière .Offset(n + 1, 1)
Non, ce n'est pas nécessaire, comme il y a des crochets dans la formule VBA sait qu'elle est du type R1C1.

A+
 
Bonjour rish_cyril, Bernard,

Il s'agit (à peu près) du code que je vous ai donné, il manque cependant une ligne pour l'effacement.

Donc comme je l'ai déjà dit vous modifiez mes codes et fichiers, alors débrouillez-vous.

Non, ce n'est pas nécessaire, comme il y a des crochets dans la formule VBA sait qu'elle est du type R1C1.

A+
La ligne qu'il manque pause probléme lors de l'éxecution de la macro ça me la met en jaune donc sur un autre ticket quelqu'un ma dit qu'elle nétait pas nécessaire j'ai actuellemtn se code ci dessou mais le résultat dans la case est toujours affiché comme "gestion_2021" et non pas la somme (résultat en E2 de la feuille tableau)

VB:
Sub Calcul()
Dim chemin$, fichier$, a(), n&
chemin = ThisWorkbook.Path & "\"
fichier = Dir(chemin & "gestion*.xlsx")
ReDim a(1 To Rows.Count, 1 To 2)
While fichier <> ""
    n = n + 1
    a(n, 1) = fichier
    a(n, 2) = "=SUM('" & chemin & "[" & fichier & "]" & "Janvier:Décembre'!C168)" 'formule de liaison
    fichier = Dir
Wend
'---restitution---
With Feuil1 'CodeName à adapter
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    With .[E2] '1ère cellule de destination, à adapter
        If n Then .Resize(n, 2) = a
        .Offset(n + 1, 1).FormulaR1C1 = "=SUM(R2C:R[-2]C)"
        If n Then
            .Offset(n + 1) = "Total"
            .Offset(n + 1, 1) = "=SUM(R[" & -n - 1 & "]C:R[-2]C)"
        End If
    End With
    With .UsedRange: End With 'actualise la barre de défilement verticale
End With
End Sub
 
- 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
5
Affichages
415
Réponses
7
Affichages
108
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
83
Réponses
3
Affichages
541
Retour