VBA : Formule avec variable d'un inputbox

Fermé
tia - 20 avril 2009 à 21:56
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 21 avril 2009 à 08:41
Bonjour,

Dans ma macro Excel, j'ai fait un inputbox , et la variable qu'on tape ( qui est un entier ) je la réutilise ensuite dans une formule dont le résultat est affecté à toutes les cellules sélectionnées...
Le problème est que dans la formule, en passant le curseur sur le nom de ma variable, celle ci n'a pas de valeur, par contre, lors de la déclaration de l'inputbox, la variable dans laquelle je stocke sa valeur, la oui c'est le bon résultat...

Ca doit juste être un problème de syntaxe, mais je n'arrive pas à trouver la bonne.. En fait c'est la première macro que je réalise...

Voici mon code VBA :
Sub macro()
    Dim row As Long
    Dim col As Long
    Dim cel As Range
    Dim Formule As String
    Dim nombre As Variant

    nombre = InputBox("Entrer un entier :")
    row = ActiveCell.row
    col = ActiveCell.Column   

    ligne_deb = Selection.row
    ligne_ = lignedeb + Selection.Rows.Count - 1

    For Each cel In Selection

        Formule = "= SUM(A" & row & ":A" & ligne_ & " )*(SUM(B" & row & ":B" & ligne_ & " ))/nombre "
   
        cel.Value = Formule

        Next cel

End Sub



Merci d'avance pour vos réponses ;)

Tia

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 701
20 avril 2009 à 23:27
bonjour

Cette syntaxe doit être meilleure :

       Formule = "= SUM(A" & row & ":A" & ligne_ & " )*(SUM(B" & row & ":B" & ligne_ & " ))/ " & nombre

mais ta formule n'a pas beaucoup d'intérêt car elle donne le même résultat sur toute la plage.
0
Oui ca marche bien, par contre si apres ma variable nombre, je divise par une autre somme, ce sera cette syntaxe ? :

Formule = "= SUM(A" & row & ":A" & ligne_ & " )*(SUM(B" & row & ":B" & ligne_ & " ))/ (" & nombre & " * SUM(A" & row & ":A" & ligne_ & " ))"


En fait, avoir la même valeur sur toute la sélection c'est ce que je veux...il y a une maniere plus simple de faire?

Avec la formule j'ai un autre soucis, c'est que dans les cases de ma selection, ce sont des "#" qui apparaissent et non pas la valeur...


Merci

Tia
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 701
21 avril 2009 à 08:41
bonjour

ce sera cette syntaxe ?

Pour la syntaxe que je t'ai corrigé, c'est en fait qu'il faut mettre entre guillemets les libellés et en clair les variables et selon la nature de "l'autre somme" à toi de voir.

c'est ce que je veux...il y a une maniere plus simple de faire?

Comme je n'ai aucune idée du résultat que tu souhaites car je n'ai pas ton classeur sous les yeux, je ne saurais émettre une quelconque possibilité de simplification et si c'est ce que tu veux que demander de plus.

ce sont des "#" qui apparaissent et non pas la valeur...

essaies d'agrandir tes colonnes pour permettre l'affichage.
0