Derniere cellule non vide sur plusieurs feuilles

jpp1230

XLDnaute Nouveau
Bonjour à tous,
Il y a t'il un moyen de récupérer la valeur de la dernière cellule non vide d'une plage de cellule qui ne sont pas dans la même feuille.

Ex : j'ai plusieurs feuille de janvier à décembre avec une valeur différente dans A1

Quand je fais une sommes de toutes ces cellules je met la formule suivante : =SOMME(janvier:juillet!A1) que je récupère dans une feuille nommé Cumul.
En plus de cette somme j'ai besoin de récupérer dans une cellule la dernière cellule A1 rempli de mes feuilles en l’occurrence celle de Mai pour ce mois.
 

Pièces jointes

  • Classeur1.xlsx
    11.9 KB · Affichages: 33
  • Classeur1.xlsx
    11.9 KB · Affichages: 37
  • Classeur1.xlsx
    11.9 KB · Affichages: 37

ROGER2327

XLDnaute Barbatruc
Re : Derniere cellule non vide sur plusieurs feuilles

Bonjour jpp1230.


VB:
=INDIRECT(CHOISIR(NB(janvier:juillet!A1);"janvier";"février";"mars";"avril";"mai";"juin";"juillet")&"!A1")
peut-être ?​


ℝOGER2327
#7336


Vendredi 20 Palotin 141 (Saint Ti Belot, séide - fête Suprême Quarte)
20 Floréal An CCXXII, 6,0505h - sarcloir
2014-W19-5T14:31:16Z
 

job75

XLDnaute Barbatruc
Re : Derniere cellule non vide sur plusieurs feuilles

Bonjour jpp1230,

Si toutes les cellules A1 des feuilles janvier à mai sont renseignées :

Code:
=INDIRECT(TEXTE("1/"&NBVAL(janvier:juillet!A1);"mmmm")&"!A1")
Si ce sont toujours des nombres :

Code:
=INDIRECT(TEXTE("1/"&NB(janvier:juillet!A1);"mmmm")&"!A1")
Edit : hello Roger, pas rafraîchi.

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Derniere cellule non vide sur plusieurs feuilles

Re,

Bien entendu s'il y a des "trous" entre janvier et mai (par exemple en mars), les formules précédentes ne renvoient pas la valeur de la bonne cellule.

On peut alors utiliser cette fonction VBA (dans Module1) :

Code:
Function DerVal(dernier_mois$, adresse$)
Application.Volatile
Dim i As Integer, c As Range
For i = Month("1/" & dernier_mois) To 1 Step -1
  Set c = Sheets(Format("1/" & i, "mmmm")).Range(adresse)
  If c <> "" Then DerVal = c: Exit Function
Next
DerVal = ""
End Function
Formule dans la feuille cumul du fichier joint :

Code:
=DerVal("juillet";"A1")
Noter que la fonction est volatile.

A+
 

Pièces jointes

  • Classeur(1).xls
    51 KB · Affichages: 35
  • Classeur(1).xls
    51 KB · Affichages: 40
  • Classeur(1).xls
    51 KB · Affichages: 27

jpp1230

XLDnaute Nouveau
Re : Derniere cellule non vide sur plusieurs feuilles

Merci pour votre rapidité à tous les deux.
J'ai utilisé la formule de roger qui à l'air de se comporter comme je le désirer.
Je garde les autres solutions sous le coude au cas ou.
merci encore
 

jpp1230

XLDnaute Nouveau
Re : Derniere cellule non vide sur plusieurs feuilles

Job, sur le classeur que j'ai joint ta formule marche très bien mais ce n'est pas le cas sur mon fichier.
Je ne comprend pas pourquoi ?
Je te joint le fichier original pour voir si c'est une erreur de ma part.
Les cases ou j'utilise cette formule sont dans l'onglet cumul avec un fond rouge
 

Pièces jointes

  • Flux_minerais_04.04.2014.xlsm
    594.6 KB · Affichages: 28
  • Flux_minerais_04.04.2014.xlsm
    594.6 KB · Affichages: 30
  • Flux_minerais_04.04.2014.xlsm
    594.6 KB · Affichages: 24

chris

XLDnaute Barbatruc
Re : Derniere cellule non vide sur plusieurs feuilles

Bonjour
Coucou Roger ;), Job75 ;)

Je ne vois pas de différence de fonctionnement entre les 2 formules : cela se réfère à Avril dans les deux cas et l'adresse étant donnée sous forme texte, il y a le même ajustement à faire.

On peut la dynamiser INDIRECT ainsi
=INDIRECT(TEXTE("1/"&NB(Janvier:Juillet!T78);"mmmm")&"!L"&LIGNE()-2&"C"& COLONNE();0)
pour faciliter la recopie
 

job75

XLDnaute Barbatruc
Re : Derniere cellule non vide sur plusieurs feuilles

Bonjour jpp1230, hello chris :)

Où est le problème :confused:

Vous utilisez la formule de Roger2327 et elle fonctionne très bien.

Et les miennes fonctionneraient aussi bien.

A+
 

job75

XLDnaute Barbatruc
Re : Derniere cellule non vide sur plusieurs feuilles

Re,

OK ta formule "dynamique" chris.

On peut aussi utiliser la fonction CELLULE :

Code:
=INDIRECT(TEXTE("1/"&NB(Janvier:Décembre!T78);"mmmm!")&CELLULE("address";T78))

Edit : sur version française on peut écrire "adresse" mais "address" fonctionne sur toutes versions.

Tandis que ta formule chris ne fonctionne que sur version française.

Sur version anglaise il te faudra :

Code:
=INDIRECT(TEXTE("1/"&NB(Janvier:Juillet!T78);"mmmm")&"!R"&LIGNE()-2&"C"& COLONNE();0)
A+
 
Dernière édition:

jpp1230

XLDnaute Nouveau
Re : Derniere cellule non vide sur plusieurs feuilles

Merci pour toutes ces infos, j'ai cependant un problème car la formule ne fonctionne pas toujours correctement.
Le problème doit être simple pour quelqu’un qui connait très bien mais je ne suis pas un grand informaticien.
J'ai essayé de regarder du coté des format de cellule sans plus de résultat.
La formule de roger fonctionne très bien sur la partie sur fond vert de T80 à T99 sur l'onglet cumul.
La formule de Job me marque Nom? comme sur la cellule T106 sur fond rouge.
Dans la partie sur fond rouge de T106 à T113 la formule ne fonctionne plus, elle me prend l'avant dernière valeur et non la dernière.
Merci à tous pour votre aide
 

Pièces jointes

  • Flux_minerais_04.04.2014.xlsm
    596.7 KB · Affichages: 27
  • Flux_minerais_04.04.2014.xlsm
    596.7 KB · Affichages: 29
  • Flux_minerais_04.04.2014.xlsm
    596.7 KB · Affichages: 33

job75

XLDnaute Barbatruc
Re : Derniere cellule non vide sur plusieurs feuilles

Re,

Ma formule en Cumul!T108 renvoie bien la cellule Avril!T106...

Quant à la fonction DerVal vous avez protégé le VBA :confused:

Le code doit être placé dans un module standard.

A+
 

chris

XLDnaute Barbatruc
Re : Derniere cellule non vide sur plusieurs feuilles

Bonjour
...
OK ta formule "dynamique" chris.

On peut aussi utiliser la fonction CELLULE :

Code:
=INDIRECT(TEXTE("1/"&NB(Janvier:Décembre!T78);"mmmm!")&CELLULE("address";T78))

Edit : sur version française on peut écrire "adresse" mais "address" fonctionne sur toutes versions.

Tandis que ta formule chris ne fonctionne que sur version française.
..

J'achète ! Je n'y pense pas toujours à CELLULE : je vais me soigner ! :eek:
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 332
Membres
103 188
dernier inscrit
evebar