Faire une somme en construisant les coordonnées des cellules à sommer avec une formul

cissou.8

XLDnaute Nouveau
Bonjour

J'ai besoin de rendre les formules de mon excel plus robustes et viable.

Pour ceci, j'aimerais que ma simple formule de somme n'utilise pas une simple plage d'addresse de cellule (telle que I45:Q45).
Je souhaiterais l'adresse des cellules à sommer soit faite comme ceci :
"colonne Y & (numéro de la ligne où se trouve cette formule)" : "colonne I & (numéro de ligne où ce trouve cette formule"

Je vous met un screenshot de mon cas (je ne peux pas vous mettre mon vrai fichier...).
Pour mon volume campagne 2010 en colonne A, je veux faire la somme des volumes de aout 2010 (colonne I) à avril 2011 (colonne Q) pour la ligne en cour.

C'est à dire que si je suis dans la case A45, je veux = somme(I45:Q45)
Mais je veux que le 45 se trouve tout seul, ça doit être la ligne sur laquelle je suis.

J'avais fait un essai avec = somme(adresse(ligne();9):adresse(ligne();17)) mais ça ne marche pas.

Auriez-vous une solution pour moi, svp??

J'espère que ma requete est suffisamment clair.
Merci d'avance
 

Pièces jointes

  • aperçu_excel_somme avec adresse.jpg
    aperçu_excel_somme avec adresse.jpg
    18.8 KB · Affichages: 133

Dranreb

XLDnaute Barbatruc
Re : Faire une somme en construisant les coordonnées des cellules à sommer avec une f

Bonjour, Là pas de doute, donnez des nom à vos colonnes entières !
La ligne n'a pas besoin d'être précisée là ou il attend à coup sûr une cellule unique: il considère de lui même que vous parlez de l'intersection de la colonne spécifiée avec la ligne portant la formule !
Ce n'est malheureusement pas le cas de la fonction SOMME qui attend une plage. Je vous suggère SOMME(45:45 I:Q). L'espace est pris comme opérateur d'intersection et vous saurez que la ligne spécifiée à part sera toujours la ligne courante si vous prenez l'habitude de l'écrire comme ça.

Ah, il y a peut être aussi:
Code:
=SOMME(INDIRECT("I"&LIGNE()&":Q"&LIGNE()))
 

Gorfael

XLDnaute Barbatruc
Re : Faire une somme en construisant les coordonnées des cellules à sommer avec une f

Salut cissou.8 et le forum
J'ai arrêté les images en sortie de la maternelle !
je ne peux pas vous mettre mon vrai fichier...
Outre que ce soit une connerie de mettre un fichier de tavail, il suffirait de copier les lignes de ton image dans une feuille vierge, pour faire un fichier d'essai parfaitement potable !
Adresse() : transforme des données en un texte représentant une adresse, pas en adresse
Code:
=somme(Indirect ("I" & ligne() & ":Q" & ligne()))
te donnera le résultat souhaité.

Edit : encore grillé ! Mais je reviendrai et ma réponse sera la plus rapide :p !
A+
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Faire une somme en construisant les coordonnées des cellules à sommer avec une f

Eh puis je viens d'écrire ce gadget:
VB:
Function LIci(Cols As Range) As Range
Dim AC As Range: Set AC = Application.Caller
Set LIci = Intersect(Cols, AC.EntireRow)
End Function
Qui permet d'écrire:
Code:
=SOMME(Lici(I:Q))
Bonjour Gorfael. Est-ce vraiment une compétition ? Ah, qu'on le veuille ou non hein...
A+
 

cissou.8

XLDnaute Nouveau
Re : Faire une somme en construisant les coordonnées des cellules à sommer avec une f

@ Dranreb : Merci beaucoup pour l'éclaircissement. Le code que tu m'as donné avec la fonction INDIRECT fonctionne très bien dans mon cas, c'est parfait.
Par curiosité, j'ai une autre question par rapport à l'écriture SOMME (45:45 I:Q). Du coup avec ce genre d'écriture, si je ne veux pas écrire 45:45 mais que la ligne renseignée soit directement la ligne où se trouve la formule (comme dans mon cas), comment je fais (si du moins c'est possible) ?
[j'ai essayer avec ligne():ligne() ou sans rien, mais ça ne marche pas :)]
Encore merci pour ton aide.

@ tdenfert : merci pour ta réponse mais avec la fonction DECALER j'ai un peu bloqué et je ne sais pas trop comment la mettre en place de façon perenne dans mon fichier. J'ai utilisé la ligne de Dranreb...


@Gorfael : NO COMMENT
[mais même si ton code marche, Dranreb a été plus vite. Dommage pour toi!]
 

Gorfael

XLDnaute Barbatruc
Re : Faire une somme en construisant les coordonnées des cellules à sommer avec une f

Salut Dranreb et le forum
Bonjour Gorfael. Est-ce vraiment une compétition ? Ah, qu'on le veuille ou non hein...
Non, ce n'est pas une compétition. Le but est que le demandeur ait son problème résolu.
Mais ma phrase favorite étant "je reviendrais et ma vengeance sera terrible"...
Par contre, je ne connaissait pas l'espace en opérateur d'intersection. C'est toujours bon d'apprendre.
A+
 

Dugenou

XLDnaute Barbatruc
Re : Faire une somme en construisant les coordonnées des cellules à sommer avec une f

Bonsoir à tous et merci à chacun pour sa contribution

Juste un mot à cissou :
la formulation =somme(45:45 I:Q) se recopie toute seule vers le bas et passe à somme(46 :46 I:Q) pas besoin de ligne()

c'est vraiment génial cet "opérateur d'intersection !"
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 946
Membres
103 989
dernier inscrit
jralonso