[Excel] Somme spéciale

Résolu
adrienDN11 Messages postés 467 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je travaille actuellement sur un classeur excel.

Une de mes macros consiste à ajouter des colonnes avant une somme

Cette somme, je désire la reporter dans une autre feuille.

Mais comme je ne peux pas faire l'égalité de l'autre feuille puisque ce n'est pas tout le temps "A" comme nom de cellule.


Je connais en VBA la formule "Selection.End(xlToLeft).Select" ce qui me permettrait de faire la somme.

Comment pourrais-je utiliser ça dans une formule ?


Merci




A voir également:

7 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonsoir,

en supposant que ta somme soit la dernière valeur de Feuil1 ligne 1 :
=DECALER(Feuil1!A1;0;NBVAL(Feuil1!1:1)-1)

eric
0
adrienDN11 Messages postés 467 Date d'inscription   Statut Membre Dernière intervention   137
 
Bonsoir,

La formule me renvoie à la première valeur. Est-ce normal ?

Adrien

0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
non, mais elle suppose tes données en ligne, sans cellules vides.
voir exemple
Sinon déposer un fichier exemple sur cijoint.fr et coller ici le lien fourni pour voir ce qui est faisable.
Et j'ai peut-etre mal compris ta question...
eric
0
adrienDN11 Messages postés 467 Date d'inscription   Statut Membre Dernière intervention   137
 
Bonjour,

Ce serait possible qu'une formule prenne la première valeur en partant de la droite ? Comme ça, ce serait bien la dernière valeur.


J'ai déjà fait ça en VBA avec la formule 'Selection.End(xltoleft).Select'

Ce serait possible la même chose ? Car c'est vrai que certaines colonnes pourraient être vides.

Merci,

Adrien

0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
Tant qu'à faire une fonction pour trouver la dernière colonne, autant direct faire la fonction qui fait les deux.. Chercher la dernière colonne et la somme.
Dans un module général (Module1) par exemple) coller le code ..
Function Somme_Per(R As Range) As Integer
Dim DerColonne As Integer
    With Sheets(R.Parent.Name)
    DerColonne = .Cells(R.Row, 256).End(xlToLeft).Column
    Somme_Per = Application.WorksheetFunction.Sum(.Range(.Cells(R.Row, 1), .Cells(R.Row, DerColonne)))
   End With
End Function

Dans la feuille (feuil2 par exemple) où il faut la somme mettre...
    =Somme_Per(Feuil1!A12)

A12 représente une cellule qui est sur la ligne à calculer.
A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
adrienDN11 Messages postés 467 Date d'inscription   Statut Membre Dernière intervention   137
 
Re,

Oui, mais si je veux utiliser un code vba, il interfère avec celui qui se lance à l'ouverture de la feuille d'origine, donc je ne peux pas copier la valeur...

Non, il me faudrait une formule qui prend la première valeur en partant de la fin du classeur.

Adrien

0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Re,

Tu peux très bien mixer plusieurs macros, le tout est de faire les bons tests pour qu'elles soient actives quand il faut.
Sinon :
=DECALER(Feuil1!A1;;MAX(SI(Feuil1!1:1="";0;COLONNE(Feuil1!1:1)))-1)
formule matricielle à valider avec shift+ctrl+entrée

eric
0
adrienDN11 Messages postés 467 Date d'inscription   Statut Membre Dernière intervention   137
 
Re,


J'ai essayé d'adapter la formule, mais je me demande si je ne l'ai pas mal fait.

=DECALER('Ortho.Conju - 1'!A8;;MAX(SI('Ortho.Conju - 1'!1:1="";0;COLONNE('Ortho.Conju - 1'!8:8)))-1)

J'ai peut-être mal adapté pour mes cellules et mes feuilles, il me retourne "0"

Adrien

0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
=DECALER('Ortho.Conju - 1'!A8;;MAX(SI('Ortho.Conju - 1'!8:8="";0;COLONNE('Ortho.Conju - 1'!8:8)))-1)
et si tu l'as bien validée avec shift+ctrl+entrée elle s'entoure de { }
eric
0
adrienDN11 Messages postés 467 Date d'inscription   Statut Membre Dernière intervention   137
 
ça m'indique que la formule que j'ai tapée a une erreur ... Pourtant, j'ai exactement la même que toi.

Que ce passe-t-il ?

Adrien
0
adrienDN11 Messages postés 467 Date d'inscription   Statut Membre Dernière intervention   137
 
C'est bon, j'ai trouvé, merci à tous,

Adrien
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
ok :-)
n'oublie pas de mettre en 'résolu' en haut alors...
0