comment faire la différence entre 1ere valeur d'une colonne et la dernière??

N

Neymo

Guest
Hello !!

J'aimerais afficher sur ma feuille excel la différence entre la première valeure d'une colonne et la dernière.. comment dois-je m'y prendre.. faut il que je me mette au VBA ou existe-t-il des formules qui me permettraient d'y arriver ??


merci d'avance pour votre aide .
 
P

PF

Guest
Dans ton message tu n'indiques pas si le nombre de lignes reste fixe !

Si celui ci varie, il me semble que tu vas devoir te mettre au VBA, à moins d'aller essayer de trouver la solution en passant par : Format, mise en forme conditionnelle. Mais là tu risques de tourner en rond.

Pour le code VBA, il me semble que tu peux faire une boucle du type.
counter = 1
Do until Cells(counter,1)=""
counter = counter + 1
Loop
Cells(counter,1).select
Y.value= Cells(counter,1).value-Cells(1,1).value

Mais, moi je débute dans le VBA, alors ...
Pour t'aider passe par crée macro, et regarder comment celle ci fonctionne.

Bonne soiree.
Patrick
 
C

chris

Guest
Bonjour
S'il n'y a pas de cellule vide entre la 1ère et la dernière :
=A1-INDIRECT("A"&NBVAL(A:A)-1)

le moins 1 doit être amenagé en fonction de la position de la première :
1 pour a1, 2 pour a2, etc

Chris
 
D

David

Guest
une petite erreur
en testant ta formule chris j'avais deux résultats différent .
Pour A1 première cellule avec nombre c'est 0 ;-1 c'est pour A2
maintenant je vais potasser un peu cette fonction indirect
A+
G.David
 
C

coco

Guest
Salut Neymo, re le forum.
Tu trouveras un code dans la macro du fichier joint. Vois si cela te convient.
A+
Coco
 

Pièces jointes

  • Dif.zip
    6.5 KB · Affichages: 31
  • Dif.zip
    6.5 KB · Affichages: 32
  • Dif.zip
    6.5 KB · Affichages: 30
M

Moa

Guest
Salut Coco !

Bien vu ta macro, toute simple et éfficace.

Mais tu n'avais pas besoin de déclarer de variable, même si les aides Excel, très souvent, les préconisent.

Sub Dif ()
Range("C7").Value = Range("A1").Value - Range("A" & Range("A65536").End(xlUp).Row).Value
End Sub

Sinon en formule, tu avais aussi la fonction "DECALER" :

=DECALER(A1;NBVAL(A:A)-1;;;)-A1

@ +

Moa
 
M

Moa

Guest
Salut Coco, salut Neymo !

On peut encore simplifier la macro.

Range("C7") = Range("A1").Value - Range("A65536").End(xlUp).Value

Car en fait en y regardant de plus près, dans le code :

Range("A" & Range("A65536").End(xlUp).Row).

Il y a répétition de référence...héhé....!


Et on peut encore simplifier, en enlevant les "Value"

Range("E1") = Range("A3") - Range("A65536").End(xlUp)


@ +

Moa
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 082
Membres
103 457
dernier inscrit
fab2614