somme de cellules en fonction de position.

Namzip

XLDnaute Nouveau
passer des variables dans Formula

Bonjour à tous,

Je suis sur un bordereau de remise avec une ligne de report toutes les 4 lignes. (En jaune sur la page) qui contient la somme des 5 lignes précédentes.

Si l'utilisateur arrête la saisie en cliquant dans une de ces 4 lignes (zone de liste "" ou "Arrêtée" la ligne passe alors en bleu) et qu'il clique sur le bouton Arrêter le compte, je souhaite que les trois cellules à droite de celle qui contient "Arrêtée" totalisent les lignes précédentes y compris la ligne en jaune juste au dessus. La ligne jaune suivante devant contenir la somme des lignes vides entre les deux lignes jaunes.
Un petit fichier vaut mieux qu'un long discours, je vous joints mon fichier de travail.

Merci à tous ceux qui prendrons la peine de me lire;

Bien cordialement, Robert
 

Pièces jointes

  • test.zip
    17 KB · Affichages: 29
  • test.zip
    17 KB · Affichages: 22
  • test.zip
    17 KB · Affichages: 24
Dernière édition:

Namzip

XLDnaute Nouveau
Re : Passer des variables dans Formula

Bonjour à tous,

J'ai passé une partie de la nuit à parcourir le forum. (merci à tous ;-))
J'ai trouvé un début de réponse à mon problème mais je ne suis pas sur de pouvoir passer
des variables pour affecter une formule à une cellule.

J'ai trouvé ça
nom = Me.TextBox1.Value
Activecell.Formula= "=SUM(" & nom & "!A1:A10)"
où nom est le nom de la feuille cible

je souhaite

Cells(a,b).Formula= somme( a-x, b) où tout autre paramètre.

je n'ai pas besoin de récupérer le nom de la feuille.

Merci,

Robert
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : somme de cellules en fonction de position.

Bonjour Namzip
Un essai dans le classeur joint. Certainement pas définitif : à vrai dire, je ne sais pas quoi faire pour les lignes "Report" après l'arrêt du compte...​
ROGER2327
#2292
 

Pièces jointes

  • test_2292.zip
    19.4 KB · Affichages: 20

Namzip

XLDnaute Nouveau
Re : somme de cellules en fonction de position.

Bonjour Roger,

Merci pour cette réponse, je m'orientais vers une solution Formula

Public Sub Arreter()
Dim la, ca, a, b, c, i
If Intersect(Application.Selection, Range("C10:X73")) Is Nothing Then Exit Sub
la = ActiveCell.Row
ca = ActiveCell.Column
b = 14
c = 16
If Cells(la, ca).Value = "" Then Exit Sub
With ActiveSheet
For i = 1 To 3
a = ca + i
.Cells(la, a).Formula = "=SUM(" & .Range(.Cells(b, a), .Cells(c, a)).Address & ")"
Next i
End With
End Sub

pour la ligne report directement au dessous de la cellule "Arrêtée" elle doit contenir
la somme des lignes comprises entre Arrêtée et Report.

Un grand merci pour ton code, je vais le regarder plus précisément.

Cordialement, Robert
 

Namzip

XLDnaute Nouveau
Re : somme de cellules en fonction de position.

Encore merci!!!!

Etre Barbatruc c'est pas rien ;-)

Pour mon fichier, j'ai mélangé ton code avec Cells().Formula car j'ai aussi l'option remise à zéro pour préparer un bordereau vierge.

Toutes les cellules report doivent être la somme des 5 lignes précédentes lors de l'initialisation.
Bref, je bidouille et c'est en passe d'être résolu!!!

Merci à toi et à notre forum.

Cordialement, Robert
 

ROGER2327

XLDnaute Barbatruc
Re : somme de cellules en fonction de position.

Re...
Apparemment, la remise à zéro fonctionne dans le fichier que j'ai proposé. A moins que je n'ai pas tout compris (ce qui ne serait pas la première fois, ni la dernière...).​
ROGER2327
#2295
 

ROGER2327

XLDnaute Barbatruc
Re : somme de cellules en fonction de position.

Re...
Très bien que cela fonctionne.
Mais j'ai trouvé un problème : si vous arrêtez un compte dès la première zone de saisie (N° de reçu 50003 par exemple), une erreur se produit.
Pour l'éviter, il suffit d'écrire "Report" en C9. Et pour que ça ne se voie pas, il suffit de l'écrire en blanc sur fond blanc.​
ROGER2327
#2296
 

Namzip

XLDnaute Nouveau
Re : somme de cellules en fonction de position.

Oui, j'avais fait le test sur toutes les cellules et j'avais ce plantage.
La boucle Do While s'arrêtait sur "Numéraire"

J'ai fais la même modif comme quoi !!!!

Je ne sais pas si cet exemple peut servir à d'autres?

Je ne pense pas utile de mettre le fichier complet.

Si c'est le cas, je le mettrais avec plaisir.

Cdt, Robert
 

Discussions similaires