Formule R1C1 variable

Bonjour,

Je suis en train de faire une macro me calculant une fomule de type A3/ADernièreligne-1. Cependant, ce calcul est dans une boucle For. Le nombre de la colonne est variable tout comme le nombre de ligne. Voici mon code, j'ai un probleme sur la ligne Sheets("US") ... Merci de votre aide

Sub Analyse() var1 = (Cells(3, Columns.Count).End(xlToLeft).Column) MsgBox (var1) var2 = (ActiveSheet.UsedRange.Rows.Count) MsgBox (var2) Z = 3 For x = 1 To var1 y = Cells(Application.Rows.Count, x).End(xlUp).Row MsgBox (y) Sheets("US").Range(Sheets("US").Cells(var2 + 1, y), Sheets("US").Cells(var2 + 1, y)).Offset(0, Z).FormulaR1C1 = "=(R[" & y & "]C[" & Z & "]/R[3]C[" & Z & "]-1,"""")" x = x + 4 Z = Z + 4 Next x End Sub

bonjour

dernière - 1

on dirait que la dernière ligne est un total et que tu veux l'exclure

solution : mettre les données sous forme de Tableau, et cocher l'affichage de la ligne de totaux

et faire la somme de la colonne (Excel comprend)

amitiés

3classeur1.xlsx (9.83 Ko)

Bonjour,

Beaucoup plus simple ...

5gnft-fr-us.xlsm (32.71 Ko)

Voila le fichier. Non je ne veux pas l'exclure c'est la formule que je souhaite effectué en boucle. Exemple : A250/A3-1

J'ai essayé un nouveau code qui fonctionne sur des autres macro mais ne fonctionne pas ici, pouvez vous m'aider svp ?

Sub Analyse() var1 = (Cells(3, Columns.Count).End(xlToLeft).Column) MsgBox (var1) var2 = (ActiveSheet.UsedRange.Rows.Count) MsgBox (var2) Z = 3 For x = 1 To var1 y = Cells(Application.Rows.Count, Z).End(xlUp).Row MsgBox (y) Sheets("US").Range(Sheets("US").Cells(2 + var2, 3), Sheets("US").Cells(2 + var2, 3)).Offset(0, Z).FormulaR1C1 = "=((R[" & var2 - y & "]C/R[3]C)-1,"""")" Z = Z + 4 Next x End Sub

re

je ne comprends pas

joins un fichier de 2 colonnes (avec leur titre) et 5 lignes et le résultat attendu

et non ton brouillon

on dirait que tu veux juste mettre en ligne ce qui est en colonnes

Voici un fichier j'espère que celui la fonctionnera. Je souhaite une macro qui calcule la dernière cellule d'une colonne divisé par la 3e cellule de la colonne, et qui calcule une somme. La feuille 1 du fichier est le type de donnée que j'ai a traité. Comme vous pouvez le voir, le nombre de ligne est variable ainsi que le nombre de colonne en fonctionne de la période que je souhaite étudié. La feuille 2 est le résultats que je souhaiterai obtenir.

Merci de votre aide.

11test.xlsx (81.36 Ko)

Personne ? je galère vraiment

Voici le code que j'essai de faire fonctionner mais qui me renvoi a une erreur 1004 : erreur défini par l'application ou l'objet.

Sub Analyse() var1 = Cells(3, Columns.Count).End(xlToLeft).Column MsgBox (var1) var2 = ActiveSheet.UsedRange.Rows.Count MsgBox (var2) Z = 3 y = 0 var3 = Cells(Application.Rows.Count, Z).End(xlUp).Row MsgBox (var3) For x = 1 To var1 Sheets("US").Range(Cells(2 + var2, Z), Cells(2 + var2, Z)).FormulaR1C1 = "=IFERROR((R[-" & var3 & "]C/R[3]C)-1)" Z = Z + 4 Next x

Ce code devrait me servir a obtenir les résultats ligne 1179 de la feuille 2. Il manque la fonction pour la somme mais je planche déjà sur la première.

Merci de votre aide

re

voici un exemple d'exemple

trèèèèèèès peu de données, des titres compréhensibles, une unique feuille

fais un immense effort pour qu'on comprenne d'un coup d'oeil ton fichier

à la limite, on n'a même pas besoin d'explications dans le message

aide-nous à t'aider

à te relire

amitiés

8classeur1.xlsx (9.26 Ko)

Oui désolé c'est vrai que le fichier ne comporte aucune indication.

Le voici avec plusieurs indication et le code qui ne fonctionne pas. J'espère que vous comprendre un peu ce que je cherche a faire si ce n'est pas claire, dites le moi.

Merci.

9test2.xlsm (90.86 Ko)

re

peeeeetit fichier, de 3 colonnes (qui ont chacune un titre) de 5 lignes et le résultat attendu

tout tient dans un écran, y compris le commentaire

à te relire

amitiés

Jmd,

Désolé mais je n'ai pas compris ton dernier message ...

re

ton fichier est 1000 fois trop long, avec des tonnes de colonnes inutiles

pour ta question, 3 colonnes et 5 lignes de données suffisent, et tu saisiras au clavier, sur le même onglet, le résultat attendu

mets des titres aux 3 colonnes

et quelques explications devraient suffire

tout tient dans le cadre d'un écran de PC ordinaire

amitiés

re,

les colonnes inutiles sont la car il y a un offset a réalisé et avec les variables, ma syntaxe ne fonctionne pas.

Ceci étant, c'est vrai que j'aurai du raccourcir le fichier ^^

Merci de tes indications.

2test2.xlsm (17.20 Ko)

Bonjour,

Ci-joint ta macro ...

En espèrant que cela t'aide

6test-nane18.xlsm (49.60 Ko)

Merci ça fonctionne ! Peux tu juste m'expliquer ce a quoi correspond :

Function NbLet(lngCol As Long) As String NbLet = Split(Cells(1, lngCol).Address(True, False), "$")(0) End Function

je ne comprend pas ce morceau a la fin de ta macro. Merci de ton aide

Re,

Ravi que la macro fonctionne ... !!!

Dans la mesure où tu as besoin d'analyser tes colonnes qui sont en mode 4 ...

la fonction permet simplement de convertir le numéro de chaque colonne ... dans la lettre correspondante ...

Rechercher des sujets similaires à "formule r1c1 variable"