Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/09/2011, 07h23   #1
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 218
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 218
Points : 28
Points : 28
Par défaut Dernière cellule non vide de la colonne A d'un classeur fermé

Bonjour,

Comment récupérer la valeur de la dernière cellule non vide de la colonne A d'un classeur fermé, j’ai trouvé un début de piste :

Code :
=INDEX('C:\Users\Nadine\Desktop\[Toto.xls]Feuil1'!$A:$A;NBVAL('C:\Users\Nadine\Desktop\[Toto.xls]Feuil1'!$A:$A))
Si le classeur est ouvert cela fonctionne, s’il est fermé il renvoi "#REF !".

Quelle est la solution ?

Merci d’avance pour votre réponse.
modus57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 08h08   #2
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 773
Points : 2 093
Points : 2 093
Bonjour,

Et de cette façon ? Ceci fonctionne chez moi (Excel 2007, testé sur plusieurs classeurs fermés) (le chemin étant différent bien sûr) :

Code :
1
2
 
=INDEX('C:\Users\Nadine\Desktop\[Toto.xls]Feuil1'!$A$1:$A$65536;NBVAL('C:\Users\Nadine\Desktop\[Toto.xls]Feuil1'!$A$1:$A$65536))
Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/09/2011, 17h00   #3
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 218
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 218
Points : 28
Points : 28
Bonjour Theze,

Merci pour ta réponse.

J'ai fait une bourde, c'est la ligne suivante que j'utilise:

Code :
ActiveCell.Formula = "INDEX('C:\Users\Nadine\Desktop\[Toto.xls]Feuil1'!$A:$A,COUNTA('C:\Users\Nadine\Desktop\[Toto.xls]Feuil1'!$A:$A))"
Si le classeur est fermé la cellule active renvoi "#REF !".
modus57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 17h07   #4
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 773
Points : 2 093
Points : 2 093
Re,

Alors, il te faut utiliser "FormulaLocal" puisque tu utilise une formule en Français et il manque le signe égal devant la formule :
Code :
1
2
 
ActiveCell.FormulaLocal = "=INDEX('C:\Users\Nadine\Desktop\[Toto.xls]Feuil1'!$A$1:$A$65536;NBVAL('C:\Users\Nadine\Desktop\[Toto.xls]Feuil1'!$A$1:$A$65536))"
Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/09/2011, 20h14   #5
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 218
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 218
Points : 28
Points : 28
Bonsoir,

Effectivement :

Citation:
il manque le signe égal devant la formule :
Avec FormulaLocal plus de soucis

Merci pour ton concours.
modus57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h32.


 
 
 
 
Partenaires

Hébergement Web