Remplacer dans Formula = "=SUM(A4:A10) " par = "=SUM(.Cells (4, 1): .Cells (10, 1)"

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

YANN-56

XLDnaute Barbatruc
Bonsoir à ceux qui passeront par là,

J'ai essayé plein de tucs, mais le plantage était toujours au bout.
Pour cibler la plage avec "Cells" ; ici cela fonctionne bien.
Mais quant à en faire le total !!!

J'ai certainement mal utilisé les " et les & dans mes essais.

J'ai besoin de procéder de cette façon car même si
le choix de la colonne ne change pas, Le "Row" de la
dernière ligne est variable.

Ci-après la Macro:

Private Sub CommandButton1_Click()

Worksheets("COMMANDE").Cells(20, 1).Formula = "=SUM(A4:A10)"

' Pour cibler la plage à additionner; ici cela fonctionne bien.

Range(Worksheets("COMMANDE").Cells(4, 3), Worksheets("COMMANDE").Cells(10, 3)).Select
selection = "Test"

End Sub

Ci-joint le Classeur support.

J'aime bien appendre tout seul, mais là; je patine beaucoup trop!

Un peu d'aide m'aiderait bien.

Merci d'avance.

Je vous souhaite une bonne soirée.

YANN-56
 

Pièces jointes

Re : Remplacer dans Formula = "=SUM(A4:A10) " par = "=SUM(.Cells (4, 1): .Cells (10,

Bonsoir Yann56,

comme ceci:

Code:
With Worksheets("COMMANDE")
.Cells(20, 1).Formula = "=SUM(" & .Cells(4, 1).Address & ":" & .Cells(10, 1).Address & ")"
End With
 
Re : Remplacer dans Formula = "=SUM(A4:A10) " par = "=SUM(.Cells (4, 1): .Cells (10,

Bonsoir,

Ou bien à partir du code de skoobi :
Code:
Sub Test()
With Worksheets("COMMANDE")
    .Cells(20, 1).Formula = "=SUM(" & .Range(.Cells(4, 1), .Cells(10, 1)).Address & ")"
End With
End Sub
 
Re : Remplacer dans Formula = "=SUM(A4:A10) " par = "=SUM(.Cells (4, 1): .Cells (10,

Bonsoir Skoobi & Catrice, et à ceux qui passeront par là,

Diantre! Deux "Barbatruc" d'un seul coup... Quel tir.

Vraiment Merci à vous.

Un point "d'Address" fort précieux🙂 qui fonctionne.

(Un seul "d" en français) Pour la reconnaissance que j'ai à la vôtre.

Je vous souhaite une bonne journée (Vu l'heure!)

YANN-56
 
Re : Remplacer dans Formula = "=SUM(A4:A10) " par = "=SUM(.Cells (4, 1): .Cells (10,

Bonjour à tous, les gens du fil & du forum


Par pur désœuvrement vbaiste 😉

Code:
Sub Test()
Dim arFormules(1 To 4) As String, x As Integer

arFormules(1) = "=SOMME("
arFormules(2) = "=NB.SI("
arFormules(3) = "=NBVAL("
arFormules(4) = "=NB.VIDE("

Rnd (1234): Randomize: x = Int((Rnd * 4) + 1)
    With Worksheets("COMMANDE")
        .Cells(20, 1).Formula = _
        "=SUM(" & .Range(.Cells(4, 1), .Cells(10, 1)).Address & ")"
        .Cells(21, 1).FormulaLocal = _
        arFormules(x) & .Range(.Cells(4, 1), .Cells(10, 1)).Address & ")"
    End With
End Sub
Sauf que cela fonctionne une fois ou plus, puis ca finit par planter

Et je ne trouve pas pourquoi 😕

Vous pouvez m'aider les amis ?
 
Dernière édition:
Re : Remplacer dans Formula = "=SUM(A4:A10) " par = "=SUM(.Cells (4, 1): .Cells (10,

Bonjour les "Barbatrucs" , et à ceux qui passeront par là,

Tenez-vous bien!
Je revenais dans mes recherches car je suis en train
de me battre pour faire une multiplication.

C'est dire ma nullité!!!

Comme dit Staple:
"Ah c'est dur de vieillir et de voir ses facultés s'amoindrir"

J'y ajoute, en ce qui me concerne, que lorsque l'on n'en a déjà pas eu beaucoup en VBA: A 60 balais, c'est moins facile.

J'admire ce que vous savez faire.

Amicalement et bon après midi

YANN-56
 
Dernière édition:
Re : Remplacer dans Formula = "=SUM(A4:A10) " par = "=SUM(.Cells (4, 1): .Cells (10,

Merci, c'est gentil.

Un forum de partage, ça rassemblent les neurones éparpillés, comble les lacunes de certains par les synapses des autres et lycée d'Versailles.

Encore une fois, rien ne remplacera la collaboration.

A+
 
Re : Remplacer dans Formula = "=SUM(A4:A10) " par = "=SUM(.Cells (4, 1): .Cells (10,

Bonjour Hasco, et les As & Co
Quant aux autres je l'ai déjà dit aussi.

Je ne retrouve plus mon neurone chargé de le l'allusion "Lycée de Versailles"
Peut-être l'ai-je perdu dans ma Culture d'artichauts Bretons.
Pardon pour ma "Non-Challans-ce"😛

J'plaisante, mais je suis encore à cette heure à chercher comment
remplacer "A5 et A6" par .Cells(5,1) et .Cells(6,1)

Dans:
.Cells(6, 2).Formula = "=A5*A6"

J'ai bon souvenir d'avoir déjà eu le plaisir de te
rencontrer lors de mes questions béotiennes ici.

Mon rêve est qu'un jour je puisse collaborer aussi.
mais jusqu'à présent, je me suis fait toujours doublé!

Bonne fin de journée à toi.

YANN-56
 
Re : Remplacer dans Formula = "=SUM(A4:A10) " par = "=SUM(.Cells (4, 1): .Cells (10,

Re Yann,

"Lycée d'Versailles" : Pierre Dac (si mon neurone ne me trompe pas)
Catrice t'as donné ici un bon exemple pour Extraire une adresse de cellule à partir de Cell(Ligne,Colonne).

Cela devrait donner que'quchausse comme ça:

Code:
.Cells(6, 2).Formula = "=" & ".Cells(5,1).Address(0,0) & "*" & .cells(6,1).Address(0,0)

Se serait sympa d'ailleurs(pour Catrice par exemple) de donner suite aux réponses qui t'on été faites, en décrivant ce qui fonctionne et ce qui cloche. Non seulement cela donne envie au répondeur de continuer à te répondre mais en plus cela l'aide à te répondre plus précisement.

A+
 
Re : Remplacer dans Formula = "=SUM(A4:A10) " par = "=SUM(.Cells (4, 1): .Cells (10,

Hello Hasco,

Merci de penser à moi. Ce que tu dis est vrai, donnez des nouvelles !

Petite modif dans ton code, il y avait un " en trop.
Le Address(0,0) c'est Top. Jamais fait attention.

Code:
With ActiveSheet
.Cells(6, 2).Formula = "=" & .Cells(5, 1).Address(1, 1) & "*" & .Cells(6, 1).Address(1, 0)
End With
 
Re : Remplacer dans Formula = "=SUM(A4:A10) " par = "=SUM(.Cells (4, 1): .Cells (10,

Bonsoir Skoobi & Catrice, et à ceux qui passeront par là,

Diantre! Deux "Barbatruc" d'un seul coup... Quel tir.

Vraiment Merci à vous.

Un point "d'Address" fort précieux🙂 qui fonctionne.

(Un seul "d" en français) Pour la reconnaissance que j'ai à la vôtre.

Je vous souhaite une bonne journée (Vu l'heure!)

YANN-56

Je suis désolé de peut-être m'être montré maladroit,
mais par cette réponse qui précède, je pensais avoir dit
que votre aide, dans les deux solutions, avait été efficace.

Je complète ma "Bidouille" en cours; et je reviens.

YANN-56
 
- 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
Retour