Sélection d'une cellule selon indice sous vba
Résolu
enjibenji
-
enjibenji -
enjibenji -
Bonjour,
Je conçois un algorithme en vba au travers duquel j'édite des formules de calcul de ma feuille sur laquelle j'applique l'algorithme.
Mon problème est que ces formules font appel à des étendus de cellules qui dépendent d'un indice.
Un exemple devrait vous éclairer plus sur mon problème :
Je veux que la cellule(1,1) soit la somme des cellules (1,2) à (1,i) où i est un indice dont la valeur est variable, mais je cherche à ce que la formule soit ensuite inscrite dans la formule de la cellule (1,1), par exemple avec i qui vaudrait 3, on aurait : "=sum(A2:A3)".
Pour se faire, j'avais pensé à l'écriture suivante, qui ne fonctionne malheureusement pas :
Range(Cells(1, 1)).Select
Cells(1, 1 + i).FormulaR1C1 = "=SUM(R[2]C:R[i]C)"
J'ai essayé différentes idées qui ne fonctionnent pas, je pense, que je me complique la vie et qu'il y a un moyen simple de désigner une cellule.
Donc si quelqu'un est en mesure de m'aider, je lui en serais extrêmement reconnaissant.
Je conçois un algorithme en vba au travers duquel j'édite des formules de calcul de ma feuille sur laquelle j'applique l'algorithme.
Mon problème est que ces formules font appel à des étendus de cellules qui dépendent d'un indice.
Un exemple devrait vous éclairer plus sur mon problème :
Je veux que la cellule(1,1) soit la somme des cellules (1,2) à (1,i) où i est un indice dont la valeur est variable, mais je cherche à ce que la formule soit ensuite inscrite dans la formule de la cellule (1,1), par exemple avec i qui vaudrait 3, on aurait : "=sum(A2:A3)".
Pour se faire, j'avais pensé à l'écriture suivante, qui ne fonctionne malheureusement pas :
Range(Cells(1, 1)).Select
Cells(1, 1 + i).FormulaR1C1 = "=SUM(R[2]C:R[i]C)"
J'ai essayé différentes idées qui ne fonctionnent pas, je pense, que je me complique la vie et qu'il y a un moyen simple de désigner une cellule.
Donc si quelqu'un est en mesure de m'aider, je lui en serais extrêmement reconnaissant.
A voir également:
- Sélection d'une cellule selon indice sous vba
- Indice téléphonique - Guide
- Excel compter cellule couleur sans vba - Guide
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Proteger cellule excel - Guide
2 réponses
Bonjour,
tu peux essayer ceci:
Bonne suite
tu peux essayer ceci:
MaFormule = "=SUM(R[2]C:R[" & i & "]C) Cells(1, 1 + i).FormulaR1C1 = MaFormule
Bonne suite
Merci Paf,
Ton écriture fonctionne parfaitement !
Mais du coup, j'aimerais aller un peu plus loin. Je passe par l'écriture "R[]C[]" parce qu'il me semblait plus approprié pour les indices, mais n'y a t-il un moyen pour passer directement par la désignation de type "A1" des cellules ?
J'ai essayé :
MaFormule = "=SUM(A9:A" & 8 + i & ")"
Cells(8, 1).FormulaR1C1 = MaFormule
Mais ça ne fonctionne pas, excel écrit ça à la place dans la cellule :
=SOMME( 'A9': 'A10')
Et n'arrive donc pas à lire la somme...
Merci d'avance !
Ton écriture fonctionne parfaitement !
Mais du coup, j'aimerais aller un peu plus loin. Je passe par l'écriture "R[]C[]" parce qu'il me semblait plus approprié pour les indices, mais n'y a t-il un moyen pour passer directement par la désignation de type "A1" des cellules ?
J'ai essayé :
MaFormule = "=SUM(A9:A" & 8 + i & ")"
Cells(8, 1).FormulaR1C1 = MaFormule
Mais ça ne fonctionne pas, excel écrit ça à la place dans la cellule :
=SOMME( 'A9': 'A10')
Et n'arrive donc pas à lire la somme...
Merci d'avance !