Besoin d'aide sur une commande de type formula

Geinoch

XLDnaute Occasionnel
Rebonjour le forum!

Bon, j'avais envoyé un poste, mais il n'a pas été très fructueux... (probablement du au fait qu'il était très compliqué)

Avec une commande que Bhbh m'avait déja dit:

Cells(18, 9).FormulaR1C1 = "=Flecalcul!R[-17]C[1]"

Je me demande si il est possible d'ajuster la partie "=Flecalcul!R[-17]C[1]" de facon àce qu'il utilise d'autres variables

Genre "=Flecalcul!R[Title]C[1]" (Title = Range("o65536").End(xlUp).Row)

Merci à l'avance!
 

Geinoch

XLDnaute Occasionnel
Re : Besoin d'aide sur une commande de type formula

Non je parle de celui-là Staple

https://www.excel-downloads.com/threads/reference-a-une-formule-bizarre-o_o.93027/

Mais ta peut-être raison

a propos de la réponse... je suis pas assez bon pour tout comprendre la piste je vais m'essayer dessus !

Merci pour le ptit kicker"! ;)

Edit:

Le offset je le comprend pas =/ 17 c'est un numéro de ligne, mais si j'ai un numéro de ligne fixe, je suis dans la merde vu qu'a chaque fois que j'ajoute une ligne ma ligne se décale... La prochaine serait 18 ,19 20 etc...
 
Dernière édition:

Geinoch

XLDnaute Occasionnel
Re : Besoin d'aide sur une commande de type formula

Pour vraiment bien faire, lorsque je rajoute ma ligne 17, 18 , 19 ou etc...
je devrait retrouver sur l'autre feuille et dans une cellule la formule =!soumA17,18,19 ou etc...
 

Staple1600

XLDnaute Barbatruc
Re : Besoin d'aide sur une commande de type formula

Re

Pourtant bhbh n'est intervenu que dans le post que je cite

car dans tu celui que tu cites tu restas seul avec toi-même :D

Cells(1, 1).Formula = Sheets("soum").Cells(1, 1).Offset(17, 0)
m'inspire ceci par exemple ( à adapter et tester)
Code:
For i=[A65536].End(xlUp).Row to 1 Step -1
Cells(i,1).Formula=Sheets("soum").Cells(i, 1)
Next
 
Dernière édition:

Geinoch

XLDnaute Occasionnel
Re : Besoin d'aide sur une commande de type formula

Je sais Staple, mais je débute un post avec un problème différent...

Sur ce que je demandais la répponse fut impeccable, maintenant je me suis aperçu que ce n'était pas ce que je voulais exactement, alors a partir de la formule de Bhbh, je demande si il est possible d'ajouter des variable "différente"

Genre:

Cells(18, 9).FormulaR1C1 = "=Flecalcul!R[Calcul]C[1]"

Calcul = la dernière ligne qui s'est ajouté avec la macro...

¨Ca doit surement être possible, j'ai trouver un post de Skoobi intéressant qui pose la formule comme ca

ActiveCell.FormulaR1C1 = _
"=HLOOKUP('Stock pâtisserie'!R5C1,'Stock pâtisserie'!R" & a &"C8:R"

Jme demande si c'est modifiable pour ce que je demande... :/
 
Dernière édition:

Geinoch

XLDnaute Occasionnel
Re : Besoin d'aide sur une commande de type formula

À chaque fois que la ligne s'ajoute je lui fait ajouter un indicateur à la colonne "n"...

For I = [n65536].End(xlUp).Row To 1 Step -1
Cells(I, 1).Formula = Sheets("soum").Cells(I, 1)
Next

Mais y'a rien a faire, le bloque qui se rajoute ne s'ajuste pas.. :(
 

Staple1600

XLDnaute Barbatruc
Re : Besoin d'aide sur une commande de type formula

Re

Préambule
Un classeur avec deux feuilles nommées Feuil1, Feuil2

en Feuil1:A1:A5 , 1,2,3,4,5
en Feuil2:A1:A5, a,b,c,d,e

Code:
Sub test()
Dim i As Long
For i = Sheets(1).[A65536].End(xlUp).Row To 1 Step -1
Sheets(1).Cells(i, 2).Formula = Sheets(2).Cells(i, 1)
Next
End Sub
Aprés éxécution de la macro:
en Feuil1:B1:B5--> a,b,c,d,e

PS: ce code n'est pas une solution à ton problème mais posté à titre d'exemple
en espérant que cela puisse t'aiguiller sur une piste qui solutionnera ton problème.
 

Staple1600

XLDnaute Barbatruc
Re : Besoin d'aide sur une commande de type formula

Re


J'ai été voir ton fichier dans ton post initial:
Lien supprimé
(EDITION:On parle bien du même fichier)

Suggestion: tu devrais supprimer les données nomitatives
(Nom, Adresse et Tel )

En un mot: anonymiser ton classeur avant de le poster.
 
Dernière édition:

Geinoch

XLDnaute Occasionnel
Re : Besoin d'aide sur une commande de type formula

Bon pour ceux qui n'ont pas le goût d'aller voir mon fichier ou pour qui m'a question est tellement facil qu'elle leur donne des convulsions... =) voici en gros la formule

Title = Range("o65536").End(xlUp).Row
Normal = Range("p65536").End(xlUp).Row
bloc = Sheet2.Range("q65536").End(xlUp).Row
If CB1.Value = "Ligne de type Calcul" Then
Application.DisplayAlerts = False
Cells(Normal, 1).EntireRow.Copy
Cells(Title, 1).EntireRow.Insert
Sheet1.Range("p" & Title) = ""
With Worksheets("Flecalcul")
.Range("a" & bloc, "k" & bloc + 32).EntireRow.Copy
.Range("a" & 1, "k" & 33).EntireRow.Insert
.Range("a" & 1, "k" & 33).PasteSpecial Paste:=xlPasteAll
.Cells(1, 1).NumberFormat = "general"
.Cells(1, 2).NumberFormat = "general"
.Cells(1, 3).NumberFormat = "general"
.Cells(1, 4).NumberFormat = "general"
.Range("q" & 1) = ""
.Cells(1, 1).FormulaR1C1 = "=soum!R[17]C"
.Cells(1, 2).FormulaR1C1 = "=soum!R[17]C"
.Cells(1, 3).FormulaR1C1 = "=soum!R[17]C"
.Cells(1, 4).FormulaR1C1 = "=soum!R[17]C"

End With


La partie en rouge est celles qui ne fonctionne pas... La ligne doit être retrouvé à partir de "title" ou de "calcul" bref si quelqu'un fait fonctionner le tout j'arrêterai de m'arracher la peau du visage =)

merci à l'avance

(le problème avec cette version du code, c'est que la formule qui se retrouve sur la feuille Flecalcul est toujours =soum!A18 même après plusieurs ajout de ligne de type calcul, alors qu'elle devrait changer en fonction de la ligne ou je suis rendu...

en espérant compréhensible le tout)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Besoin d'aide sur une commande de type formula

Re

Code:
Private Sub cmdok_Click()
[SIZE=1] Dim Title As Long: Dim Normal as Long
Title = Range("o65536").End(xlUp).Row:Normal = Range("p65536").End(xlUp).Row
bloc = Sheet2.Range("q65536").End(xlUp).Row
If CB1.Value = "Ligne de type Sous-Titre" Then 'Bouton ok
Cells(Title, 1).EntireRow.Copy
Cells(Title, 1).EntireRow.Insert
Sheet1.Range("O" & Title) = ""
Form.Hide
Application.CutCopyMode = False
End If
If CB1.Value = "Ligne de type Normal" Then
Cells(Normal, 1).EntireRow.Copy
Cells(Title, 1).EntireRow.Insert
Sheet1.Range("p" & Title) = ""
Form.Hide
Application.CutCopyMode = False
End If
If CB1.Value = "Ligne de type Calcul" Then
Application.DisplayAlerts = False
Cells(Normal, 1).EntireRow.Copy
Cells(Title, 1).EntireRow.Insert
Sheet1.Range("p" & Title) = ""
With Worksheets("Flecalcul")[/SIZE]
'ces lignes plantent sur mon poste
[COLOR=Red] '   .Range("a" & bloc, "k" & bloc + 32).EntireRow.Copy
    '.Range("a" & 1, "k" & 33).EntireRow.Insert
'.Range("a" & 1, "k" & 33).PasteSpecial Paste:=xlPasteAll[/COLOR]
   [SIZE=1] .Cells(1, 1).NumberFormat = "general"
    .Cells(1, 2).NumberFormat = "general"
    .Cells(1, 3).NumberFormat = "general"
    .Cells(1, 4).NumberFormat = "general"
    .Range("q" & 1) = ""[/SIZE]
'avec ces modifs j'ai les bonnes valeurs
'mais pas par formules
    [COLOR=Blue][B].Cells(1, 1).Formula = Sheets("soum").Cells(Title, 1)
    .Cells(1, 2).Formula = Sheets("soum").Cells(Title, 2)
    .Cells(1, 3).Formula = Sheets("soum").Cells(Title, 3)[/B][/COLOR]
    .Cells(1, 4) = Sheet1.Cells(Title, 4)
[SIZE=1] End With
Cells(18, 9).FormulaR1C1 = "=Flecalcul!R[-17]C[1]"
Cells(18, 10).FormulaR1C1 = "=Flecalcul!R[-17]C[1]"
Form.Hide
End If[/SIZE]
End Sub
 
Dernière édition:

Statistiques des forums

Discussions
312 149
Messages
2 085 771
Membres
102 970
dernier inscrit
JMaurice