Chemin

Le
Michel Mto
Bonjour à toutes et à tous,
Est ce que dans une macro de ce type :

MATCH(""Totaux"",'[Brouillard XXX " & Year(Date) & _
".xls]" & Workbooks("Brouillard XXX " & Year(Date) &
".xls").Sheets(Workbooks("Brouillard XXX " _
& Year(Date) & ".xls").Sheets.Count - 1).Name & _
"'!$C:$C,0)
qui me donne la formule suivante : EQUIV("Totaux";'[Brouillard XXX
2010.xls]nomdefeuille'!$C:$C;0)

je pourrai éviter d'ouvrir le classeur "Brouillard XXX 2010.xls" qui
contient le nom de la feuille dans laquelle doit s'effectuer la recherche.
En effet, je voudrais aller chercher, au travers de ce code, le nom de
l'avant dernière feuille, mais sans ouvrir ce classeur.

Est ce possible, quelle est la synthaxe ??
Merci d'avance pour votre aide.

Michel MTO
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #22383681
Bonjour,
Est ce possible, quelle est la synthaxe ??


En mettant le chemin complet du classeur

Par exemple (en adaptant le chemin)

Dans la feuille :(le chemin s'adapte automatiquement à la formule quand le fichier cible est fermé)
=EQUIV(totaux;'C:Documents and SettingsUserNameMes documents[Brouillard XXX2010.xls]Feuil1'!$C:$C;0)

En Vba (Ici pour d1)
[d1].Formula = "=MATCH(totaux,'C:Documents and SettingsUserNameMes documents[Brouillard
XXX2010.xls]Feuil1'!C:C,0)"

Sinon par Ado, exemple de "Robert Dezan" que je salue au passage ici
http://www.generation-nt.com/interroger-un-fichier-ferme-vlookup-ado-ou-quoi-entraide-401017.html
--
Salutations
JJ


"Michel Mto"
Bonjour à toutes et à tous,
Est ce que dans une macro de ce type :

MATCH(""Totaux"",'[Brouillard XXX " & Year(Date) & _
".xls]" & Workbooks("Brouillard XXX " & Year(Date) &
".xls").Sheets(Workbooks("Brouillard XXX " _
& Year(Date) & ".xls").Sheets.Count - 1).Name & _
"'!$C:$C,0)
qui me donne la formule suivante : EQUIV("Totaux";'[Brouillard XXX
2010.xls]nomdefeuille'!$C:$C;0)

je pourrai éviter d'ouvrir le classeur "Brouillard XXX 2010.xls" qui
contient le nom de la feuille dans laquelle doit s'effectuer la recherche.
En effet, je voudrais aller chercher, au travers de ce code, le nom de
l'avant dernière feuille, mais sans ouvrir ce classeur.

Est ce possible, quelle est la synthaxe ??
Merci d'avance pour votre aide.

Michel MTO



Michel Mto
Le #22383921
Merci Jacky pour ta réponse.
Je me suis peut être mal exprimé :
dans le code ceci => & Workbooks("Brouillard XXX " & Year(Date) &
> ".xls").Sheets(Workbooks("Brouillard XXX " _
> & Year(Date) & ".xls").Sheets.Count - 1).Name


ramène le nom de l'avant dernière feuille du classeur nommé "Brouillard XXX
2010.xls".

Or quand j'écris cela :
& Workbooks("C:Documents and SettingsUserNameMes documentsBrouillard XXX
" & Year(Date) & ".xls").Sheets(Workbooks("C:Documents and
SettingsUserNameMes documentsBrouillard XXX " _
& Year(Date) & ".xls").Sheets.Count - 1).Name
çà ne fonctionne pas, puisque si j'écris çà Worbooks("Brouillard XXX
2010.xls") doit être ouvert, si je ne dit pas de bétises !!

Pour te suivre tu me dis de mettre ceci :
En Vba (Ici pour d1)
[d1].Formula = "=MATCH(totaux,'C:Documents and SettingsUserNameMes


documents[Brouillard
XXX2010.xls]Feuil1'!C:C,0)"


Je suis ok, mais il faudrait que je puisse ramener le nom de l'avant
dernière feuille du classeur fermé, en l'espèce non pas "Feuil1" mais par
exemple "nomavantdernièrefeuille", sachant que le nombre de feuilles du
classeur fermé augmente.

Michel MTO



"Jacky" 4c48383b$0$27582$
Bonjour,
> Est ce possible, quelle est la synthaxe ??
En mettant le chemin complet du classeur

Par exemple (en adaptant le chemin)

Dans la feuille :(le chemin s'adapte automatiquement à la formule quand le


fichier cible est fermé)
=EQUIV(totaux;'C:Documents and SettingsUserNameMes


documents[Brouillard XXX2010.xls]Feuil1'!$C:$C;0)

En Vba (Ici pour d1)
[d1].Formula = "=MATCH(totaux,'C:Documents and SettingsUserNameMes


documents[Brouillard
XXX2010.xls]Feuil1'!C:C,0)"

Sinon par Ado, exemple de "Robert Dezan" que je salue au passage ici



http://www.generation-nt.com/interroger-un-fichier-ferme-vlookup-ado-ou-quoi
-entraide-401017.html
--
Salutations
JJ


"Michel Mto"

i272h6$ebv$
> Bonjour à toutes et à tous,
> Est ce que dans une macro de ce type :
>
> MATCH(""Totaux"",'[Brouillard XXX " & Year(Date) & _
> ".xls]" & Workbooks("Brouillard XXX " & Year(Date) &
> ".xls").Sheets(Workbooks("Brouillard XXX " _
> & Year(Date) & ".xls").Sheets.Count - 1).Name & _
> "'!$C:$C,0)
> qui me donne la formule suivante : EQUIV("Totaux";'[Brouillard XXX
> 2010.xls]nomdefeuille'!$C:$C;0)
>
> je pourrai éviter d'ouvrir le classeur "Brouillard XXX 2010.xls" qui
> contient le nom de la feuille dans laquelle doit s'effectuer la


recherche.
> En effet, je voudrais aller chercher, au travers de ce code, le nom de
> l'avant dernière feuille, mais sans ouvrir ce classeur.
>
> Est ce possible, quelle est la synthaxe ??
> Merci d'avance pour votre aide.
>
> Michel MTO
>
>
>



Jacky
Le #22384981
Re...
.....il faudrait que je puisse ramener le nom de l'avant


dernière feuille du classeur fermé
Trouvé sur le net, pour récupérer le nombre de feuilles d'un classeur fermé
'----------------
' Nécessite la référence"Microsoft DAO 3.6 object librairy"
Dim XlDb As DAO.Database, Nb As Integer
fichier = "C:Documents and SettingsjackyMes documentsBrouillard XXX2010.xls"
Set XlDb = OpenDatabase(fichier, False, True, "Excel 8.0;")
Nb = XlDb.TableDefs.Count - 1
MsgBox Sheets(Nb).Name
'------------------
http://www.eggheadcafe.com/software/aspnet/35179692/compter-les-onglets-dun.aspx
Attention, le déplacement des feuilles dans le classeur source fausse la donne.
Perso, j'ouvre le fichier, je prends les valeurs dont j'ai besoin, je ferme.
Mais bon... chacun fait comme il l'entend ;o)))

--
Salutations
JJ


"Michel Mto"
Merci Jacky pour ta réponse.
Je me suis peut être mal exprimé :
dans le code ceci => & Workbooks("Brouillard XXX " & Year(Date) &
> ".xls").Sheets(Workbooks("Brouillard XXX " _
> & Year(Date) & ".xls").Sheets.Count - 1).Name


ramène le nom de l'avant dernière feuille du classeur nommé "Brouillard XXX
2010.xls".

Or quand j'écris cela :
& Workbooks("C:Documents and SettingsUserNameMes documentsBrouillard XXX
" & Year(Date) & ".xls").Sheets(Workbooks("C:Documents and
SettingsUserNameMes documentsBrouillard XXX " _
& Year(Date) & ".xls").Sheets.Count - 1).Name
çà ne fonctionne pas, puisque si j'écris çà Worbooks("Brouillard XXX
2010.xls") doit être ouvert, si je ne dit pas de bétises !!

Pour te suivre tu me dis de mettre ceci :
En Vba (Ici pour d1)
[d1].Formula = "=MATCH(totaux,'C:Documents and SettingsUserNameMes


documents[Brouillard
XXX2010.xls]Feuil1'!C:C,0)"


Je suis ok, mais il faudrait que je puisse ramener le nom de l'avant
dernière feuille du classeur fermé, en l'espèce non pas "Feuil1" mais par
exemple "nomavantdernièrefeuille", sachant que le nombre de feuilles du
classeur fermé augmente.

Michel MTO



"Jacky" 4c48383b$0$27582$
Bonjour,
> Est ce possible, quelle est la synthaxe ??
En mettant le chemin complet du classeur

Par exemple (en adaptant le chemin)

Dans la feuille :(le chemin s'adapte automatiquement à la formule quand le


fichier cible est fermé)
=EQUIV(totaux;'C:Documents and SettingsUserNameMes


documents[Brouillard XXX2010.xls]Feuil1'!$C:$C;0)

En Vba (Ici pour d1)
[d1].Formula = "=MATCH(totaux,'C:Documents and SettingsUserNameMes


documents[Brouillard
XXX2010.xls]Feuil1'!C:C,0)"

Sinon par Ado, exemple de "Robert Dezan" que je salue au passage ici



http://www.generation-nt.com/interroger-un-fichier-ferme-vlookup-ado-ou-quoi
-entraide-401017.html
--
Salutations
JJ


"Michel Mto"

i272h6$ebv$
> Bonjour à toutes et à tous,
> Est ce que dans une macro de ce type :
>
> MATCH(""Totaux"",'[Brouillard XXX " & Year(Date) & _
> ".xls]" & Workbooks("Brouillard XXX " & Year(Date) &
> ".xls").Sheets(Workbooks("Brouillard XXX " _
> & Year(Date) & ".xls").Sheets.Count - 1).Name & _
> "'!$C:$C,0)
> qui me donne la formule suivante : EQUIV("Totaux";'[Brouillard XXX
> 2010.xls]nomdefeuille'!$C:$C;0)
>
> je pourrai éviter d'ouvrir le classeur "Brouillard XXX 2010.xls" qui
> contient le nom de la feuille dans laquelle doit s'effectuer la


recherche.
> En effet, je voudrais aller chercher, au travers de ce code, le nom de
> l'avant dernière feuille, mais sans ouvrir ce classeur.
>
> Est ce possible, quelle est la synthaxe ??
> Merci d'avance pour votre aide.
>
> Michel MTO
>
>
>







Michel Mto
Le #22385931
Bonjour Jacky,
merci encore une fois.
Je suis aller sur le lien que tu me suggère, et j'ai recopier le code
proposé.
cependant, lorsque je le lance, excel me sort un nombre de feuille à 21 dans
mon classeur fermé alors que j'en ai que 8.
En affichant le nom des feuilles, tel que proposer dans le code, j'ai bien
mes nom de feuilles comme ceci 'nomdelafeuille$ ??? sauf pour la dernière
j'ai 'nomdeladernièrefeuille' sans le $ => nombre 8 feuilles

puis la liste se répète avec 'nomdelafeuille'$_FilterDatabas jusqu'à l'avant
dernière feuille => nombre 7 feuilles

puis la liste se répète de nouveau avec 'nomdelafeuille'$Print_Are => nombre
7 feuilles

ce qui donne au total 22 feuilles !!!

Est ce que tu saurais m'expliquer ?? je n'y comprend rien !!!

Michel MTO

"Jacky" 4c4892b9$0$27577$
Re...
>.....il faudrait que je puisse ramener le nom de l'avant
dernière feuille du classeur fermé
Trouvé sur le net, pour récupérer le nombre de feuilles d'un classeur


fermé
'----------------
' Nécessite la référence"Microsoft DAO 3.6 object librairy"
Dim XlDb As DAO.Database, Nb As Integer
fichier = "C:Documents and SettingsjackyMes documentsBrouillard


XXX2010.xls"
Set XlDb = OpenDatabase(fichier, False, True, "Excel 8.0;")
Nb = XlDb.TableDefs.Count - 1
MsgBox Sheets(Nb).Name
'------------------



http://www.eggheadcafe.com/software/aspnet/35179692/compter-les-onglets-dun.
aspx
Attention, le déplacement des feuilles dans le classeur source fausse la


donne.
Perso, j'ouvre le fichier, je prends les valeurs dont j'ai besoin, je


ferme.
Mais bon... chacun fait comme il l'entend ;o)))

--
Salutations
JJ


"Michel Mto"

i29ied$26i$
> Merci Jacky pour ta réponse.
> Je me suis peut être mal exprimé :
> dans le code ceci => & Workbooks("Brouillard XXX " & Year(Date) &
>> > ".xls").Sheets(Workbooks("Brouillard XXX " _
>> > & Year(Date) & ".xls").Sheets.Count - 1).Name
> ramène le nom de l'avant dernière feuille du classeur nommé "Brouillard


XXX
> 2010.xls".
>
> Or quand j'écris cela :
> & Workbooks("C:Documents and SettingsUserNameMes documentsBrouillard


XXX
> " & Year(Date) & ".xls").Sheets(Workbooks("C:Documents and
> SettingsUserNameMes documentsBrouillard XXX " _
> & Year(Date) & ".xls").Sheets.Count - 1).Name
> çà ne fonctionne pas, puisque si j'écris çà Worbooks("Brouillard XXX
> 2010.xls") doit être ouvert, si je ne dit pas de bétises !!
>
> Pour te suivre tu me dis de mettre ceci :
>> En Vba (Ici pour d1)
>> [d1].Formula = "=MATCH(totaux,'C:Documents and SettingsUserNameMes
> documents[Brouillard
>> XXX2010.xls]Feuil1'!C:C,0)"
> Je suis ok, mais il faudrait que je puisse ramener le nom de l'avant
> dernière feuille du classeur fermé, en l'espèce non pas "Feuil1" mais


par
> exemple "nomavantdernièrefeuille", sachant que le nombre de feuilles du
> classeur fermé augmente.
>
> Michel MTO
>
>
>
> "Jacky" > 4c48383b$0$27582$
>> Bonjour,
>> > Est ce possible, quelle est la synthaxe ??
>> En mettant le chemin complet du classeur
>>
>> Par exemple (en adaptant le chemin)
>>
>> Dans la feuille :(le chemin s'adapte automatiquement à la formule quand


le
> fichier cible est fermé)
>> =EQUIV(totaux;'C:Documents and SettingsUserNameMes
> documents[Brouillard XXX2010.xls]Feuil1'!$C:$C;0)
>>
>> En Vba (Ici pour d1)
>> [d1].Formula = "=MATCH(totaux,'C:Documents and SettingsUserNameMes
> documents[Brouillard
>> XXX2010.xls]Feuil1'!C:C,0)"
>>
>> Sinon par Ado, exemple de "Robert Dezan" que je salue au passage ici
>>
>


http://www.generation-nt.com/interroger-un-fichier-ferme-vlookup-ado-ou-quoi
> -entraide-401017.html
>> --
>> Salutations
>> JJ
>>
>>
>> "Michel Mto" > i272h6$ebv$
>> > Bonjour à toutes et à tous,
>> > Est ce que dans une macro de ce type :
>> >
>> > MATCH(""Totaux"",'[Brouillard XXX " & Year(Date) & _
>> > ".xls]" & Workbooks("Brouillard XXX " & Year(Date) &
>> > ".xls").Sheets(Workbooks("Brouillard XXX " _
>> > & Year(Date) & ".xls").Sheets.Count - 1).Name & _
>> > "'!$C:$C,0)
>> > qui me donne la formule suivante : EQUIV("Totaux";'[Brouillard XXX
>> > 2010.xls]nomdefeuille'!$C:$C;0)
>> >
>> > je pourrai éviter d'ouvrir le classeur "Brouillard XXX 2010.xls" qui
>> > contient le nom de la feuille dans laquelle doit s'effectuer la
> recherche.
>> > En effet, je voudrais aller chercher, au travers de ce code, le nom


de
>> > l'avant dernière feuille, mais sans ouvrir ce classeur.
>> >
>> > Est ce possible, quelle est la synthaxe ??
>> > Merci d'avance pour votre aide.
>> >
>> > Michel MTO
>> >
>> >
>> >
>>
>>
>>
>
>


Michel Mto
Le #22385981
Rectification, mon classeur source était ouvert voici la nouvelle liste des
feuilles qu'excel m'affiche :
mes nom de feuilles comme ceci 'nomdelafeuille$ ??? sauf pour la
dernière
j'ai 'nomdeladernièrefeuille' sans le $ => nombre 8 feuilles

puis la liste se répète avec 'nomdelafeuille$' jusqu'à l'avant
dernière feuille => nombre 7 feuilles

puis la liste se répète de nouveau avec 'nomdelafeuille$'Zone_d_impressi
=> nombre
7 feuilles

toujours 22 feuilles

Michel MTO




"Michel Mto" i2bfif$9h1$
Bonjour Jacky,
merci encore une fois.
Je suis aller sur le lien que tu me suggère, et j'ai recopier le code
proposé.
cependant, lorsque je le lance, excel me sort un nombre de feuille à 21


dans
mon classeur fermé alors que j'en ai que 8.
En affichant le nom des feuilles, tel que proposer dans le code, j'ai bien
mes nom de feuilles comme ceci 'nomdelafeuille$ ??? sauf pour la dernière
j'ai 'nomdeladernièrefeuille' sans le $ => nombre 8 feuilles

puis la liste se répète avec 'nomdelafeuille'$_FilterDatabas jusqu'à


l'avant
dernière feuille => nombre 7 feuilles

puis la liste se répète de nouveau avec 'nomdelafeuille'$Print_Are =>


nombre
7 feuilles

ce qui donne au total 22 feuilles !!!

Est ce que tu saurais m'expliquer ?? je n'y comprend rien !!!

Michel MTO

"Jacky" 4c4892b9$0$27577$
> Re...
> >.....il faudrait que je puisse ramener le nom de l'avant
> dernière feuille du classeur fermé
> Trouvé sur le net, pour récupérer le nombre de feuilles d'un classeur
fermé
> '----------------
> ' Nécessite la référence"Microsoft DAO 3.6 object librairy"
> Dim XlDb As DAO.Database, Nb As Integer
> fichier = "C:Documents and SettingsjackyMes documentsBrouillard
XXX2010.xls"
> Set XlDb = OpenDatabase(fichier, False, True, "Excel 8.0;")
> Nb = XlDb.TableDefs.Count - 1
> MsgBox Sheets(Nb).Name
> '------------------
>



http://www.eggheadcafe.com/software/aspnet/35179692/compter-les-onglets-dun.
aspx
> Attention, le déplacement des feuilles dans le classeur source fausse la
donne.
> Perso, j'ouvre le fichier, je prends les valeurs dont j'ai besoin, je
ferme.
> Mais bon... chacun fait comme il l'entend ;o)))
>
> --
> Salutations
> JJ
>
>
> "Michel Mto" i29ied$26i$
> > Merci Jacky pour ta réponse.
> > Je me suis peut être mal exprimé :
> > dans le code ceci => & Workbooks("Brouillard XXX " & Year(Date) &
> >> > ".xls").Sheets(Workbooks("Brouillard XXX " _
> >> > & Year(Date) & ".xls").Sheets.Count - 1).Name
> > ramène le nom de l'avant dernière feuille du classeur nommé


"Brouillard
XXX
> > 2010.xls".
> >
> > Or quand j'écris cela :
> > & Workbooks("C:Documents and SettingsUserNameMes


documentsBrouillard
XXX
> > " & Year(Date) & ".xls").Sheets(Workbooks("C:Documents and
> > SettingsUserNameMes documentsBrouillard XXX " _
> > & Year(Date) & ".xls").Sheets.Count - 1).Name
> > çà ne fonctionne pas, puisque si j'écris çà Worbooks("Brouillard XXX
> > 2010.xls") doit être ouvert, si je ne dit pas de bétises !!
> >
> > Pour te suivre tu me dis de mettre ceci :
> >> En Vba (Ici pour d1)
> >> [d1].Formula = "=MATCH(totaux,'C:Documents and


SettingsUserNameMes
> > documents[Brouillard
> >> XXX2010.xls]Feuil1'!C:C,0)"
> > Je suis ok, mais il faudrait que je puisse ramener le nom de l'avant
> > dernière feuille du classeur fermé, en l'espèce non pas "Feuil1" mais
par
> > exemple "nomavantdernièrefeuille", sachant que le nombre de feuilles


du
> > classeur fermé augmente.
> >
> > Michel MTO
> >
> >
> >
> > "Jacky" > > 4c48383b$0$27582$
> >> Bonjour,
> >> > Est ce possible, quelle est la synthaxe ??
> >> En mettant le chemin complet du classeur
> >>
> >> Par exemple (en adaptant le chemin)
> >>
> >> Dans la feuille :(le chemin s'adapte automatiquement à la formule


quand
le
> > fichier cible est fermé)
> >> =EQUIV(totaux;'C:Documents and SettingsUserNameMes
> > documents[Brouillard XXX2010.xls]Feuil1'!$C:$C;0)
> >>
> >> En Vba (Ici pour d1)
> >> [d1].Formula = "=MATCH(totaux,'C:Documents and


SettingsUserNameMes
> > documents[Brouillard
> >> XXX2010.xls]Feuil1'!C:C,0)"
> >>
> >> Sinon par Ado, exemple de "Robert Dezan" que je salue au passage ici
> >>
> >



http://www.generation-nt.com/interroger-un-fichier-ferme-vlookup-ado-ou-quoi
> > -entraide-401017.html
> >> --
> >> Salutations
> >> JJ
> >>
> >>
> >> "Michel Mto"

news:
> > i272h6$ebv$
> >> > Bonjour à toutes et à tous,
> >> > Est ce que dans une macro de ce type :
> >> >
> >> > MATCH(""Totaux"",'[Brouillard XXX " & Year(Date) & _
> >> > ".xls]" & Workbooks("Brouillard XXX " & Year(Date) &
> >> > ".xls").Sheets(Workbooks("Brouillard XXX " _
> >> > & Year(Date) & ".xls").Sheets.Count - 1).Name & _
> >> > "'!$C:$C,0)
> >> > qui me donne la formule suivante : EQUIV("Totaux";'[Brouillard XXX
> >> > 2010.xls]nomdefeuille'!$C:$C;0)
> >> >
> >> > je pourrai éviter d'ouvrir le classeur "Brouillard XXX 2010.xls"


qui
> >> > contient le nom de la feuille dans laquelle doit s'effectuer la
> > recherche.
> >> > En effet, je voudrais aller chercher, au travers de ce code, le nom
de
> >> > l'avant dernière feuille, mais sans ouvrir ce classeur.
> >> >
> >> > Est ce possible, quelle est la synthaxe ??
> >> > Merci d'avance pour votre aide.
> >> >
> >> > Michel MTO
> >> >
> >> >
> >> >
> >>
> >>
> >>
> >
> >
>
>


DanielCo
Le #22386361
Bonjour Jacky
Ce code fonctionne en remplaçant
MsgBox Sheets(Nb).Name
par
MsgBox XlDb.TableDefs(Nb).Name
Toutefois, il tient compte en plus des feuilles des plages nommées et
des plages filtrées.
Cordialement.
Daniel
Michel Mto
Le #22386541
Bonjour Daniel,
Effectivement au moment de l'exécution du code il y avait une petite erreur,
"l'indice n'appartient pas à la sélection" quelque chose dans ce genre !!
merci à toi pour la correction.

Connais tu la signafication de :
Set XlDb = OpenDatabase(fichier, False, True, "Excel 8.0;")
Nb = XlDb.TableDefs.Count - 1

et comment éviter de compter les feuilles des plages nommées et des plages
filtrées.
Merci

Michel MTO

"DanielCo" i2blpk$k55$
Bonjour Jacky
Ce code fonctionne en remplaçant
MsgBox Sheets(Nb).Name
par
MsgBox XlDb.TableDefs(Nb).Name
Toutefois, il tient compte en plus des feuilles des plages nommées et
des plages filtrées.
Cordialement.
Daniel


Jacky
Le #22386631
Bonjour Daniel

Oui, erreur de ma part, test effectué les deux classeurs ouvert :-(
Toutefois, il tient compte en plus des feuilles des plages nommées et des plages filtrées


Une raison de plus pour qui me conforte de ne pas travailler sur des classeurs fermés.

--
Salutations
JJ


"DanielCo"
Bonjour Jacky
Ce code fonctionne en remplaçant
MsgBox Sheets(Nb).Name
par
MsgBox XlDb.TableDefs(Nb).Name
Toutefois, il tient compte en plus des feuilles des plages nommées et des plages filtrées.
Cordialement.
Daniel


Jacky
Le #22386621
Re...
Voir la remarque de MichelCo

--
Salutations
JJ


"Michel Mto"
Rectification, mon classeur source était ouvert voici la nouvelle liste des
feuilles qu'excel m'affiche :
mes nom de feuilles comme ceci 'nomdelafeuille$ ??? sauf pour la
dernière
j'ai 'nomdeladernièrefeuille' sans le $ => nombre 8 feuilles

puis la liste se répète avec 'nomdelafeuille$' jusqu'à l'avant
dernière feuille => nombre 7 feuilles

puis la liste se répète de nouveau avec 'nomdelafeuille$'Zone_d_impressi
=> nombre
7 feuilles

toujours 22 feuilles

Michel MTO




"Michel Mto" i2bfif$9h1$
Bonjour Jacky,
merci encore une fois.
Je suis aller sur le lien que tu me suggère, et j'ai recopier le code
proposé.
cependant, lorsque je le lance, excel me sort un nombre de feuille à 21


dans
mon classeur fermé alors que j'en ai que 8.
En affichant le nom des feuilles, tel que proposer dans le code, j'ai bien
mes nom de feuilles comme ceci 'nomdelafeuille$ ??? sauf pour la dernière
j'ai 'nomdeladernièrefeuille' sans le $ => nombre 8 feuilles

puis la liste se répète avec 'nomdelafeuille'$_FilterDatabas jusqu'à


l'avant
dernière feuille => nombre 7 feuilles

puis la liste se répète de nouveau avec 'nomdelafeuille'$Print_Are =>


nombre
7 feuilles

ce qui donne au total 22 feuilles !!!

Est ce que tu saurais m'expliquer ?? je n'y comprend rien !!!

Michel MTO

"Jacky" 4c4892b9$0$27577$
> Re...
> >.....il faudrait que je puisse ramener le nom de l'avant
> dernière feuille du classeur fermé
> Trouvé sur le net, pour récupérer le nombre de feuilles d'un classeur
fermé
> '----------------
> ' Nécessite la référence"Microsoft DAO 3.6 object librairy"
> Dim XlDb As DAO.Database, Nb As Integer
> fichier = "C:Documents and SettingsjackyMes documentsBrouillard
XXX2010.xls"
> Set XlDb = OpenDatabase(fichier, False, True, "Excel 8.0;")
> Nb = XlDb.TableDefs.Count - 1
> MsgBox Sheets(Nb).Name
> '------------------
>



http://www.eggheadcafe.com/software/aspnet/35179692/compter-les-onglets-dun.
aspx
> Attention, le déplacement des feuilles dans le classeur source fausse la
donne.
> Perso, j'ouvre le fichier, je prends les valeurs dont j'ai besoin, je
ferme.
> Mais bon... chacun fait comme il l'entend ;o)))
>
> --
> Salutations
> JJ
>
>
> "Michel Mto" i29ied$26i$
> > Merci Jacky pour ta réponse.
> > Je me suis peut être mal exprimé :
> > dans le code ceci => & Workbooks("Brouillard XXX " & Year(Date) &
> >> > ".xls").Sheets(Workbooks("Brouillard XXX " _
> >> > & Year(Date) & ".xls").Sheets.Count - 1).Name
> > ramène le nom de l'avant dernière feuille du classeur nommé


"Brouillard
XXX
> > 2010.xls".
> >
> > Or quand j'écris cela :
> > & Workbooks("C:Documents and SettingsUserNameMes


documentsBrouillard
XXX
> > " & Year(Date) & ".xls").Sheets(Workbooks("C:Documents and
> > SettingsUserNameMes documentsBrouillard XXX " _
> > & Year(Date) & ".xls").Sheets.Count - 1).Name
> > çà ne fonctionne pas, puisque si j'écris çà Worbooks("Brouillard XXX
> > 2010.xls") doit être ouvert, si je ne dit pas de bétises !!
> >
> > Pour te suivre tu me dis de mettre ceci :
> >> En Vba (Ici pour d1)
> >> [d1].Formula = "=MATCH(totaux,'C:Documents and


SettingsUserNameMes
> > documents[Brouillard
> >> XXX2010.xls]Feuil1'!C:C,0)"
> > Je suis ok, mais il faudrait que je puisse ramener le nom de l'avant
> > dernière feuille du classeur fermé, en l'espèce non pas "Feuil1" mais
par
> > exemple "nomavantdernièrefeuille", sachant que le nombre de feuilles


du
> > classeur fermé augmente.
> >
> > Michel MTO
> >
> >
> >
> > "Jacky" > > 4c48383b$0$27582$
> >> Bonjour,
> >> > Est ce possible, quelle est la synthaxe ??
> >> En mettant le chemin complet du classeur
> >>
> >> Par exemple (en adaptant le chemin)
> >>
> >> Dans la feuille :(le chemin s'adapte automatiquement à la formule


quand
le
> > fichier cible est fermé)
> >> =EQUIV(totaux;'C:Documents and SettingsUserNameMes
> > documents[Brouillard XXX2010.xls]Feuil1'!$C:$C;0)
> >>
> >> En Vba (Ici pour d1)
> >> [d1].Formula = "=MATCH(totaux,'C:Documents and


SettingsUserNameMes
> > documents[Brouillard
> >> XXX2010.xls]Feuil1'!C:C,0)"
> >>
> >> Sinon par Ado, exemple de "Robert Dezan" que je salue au passage ici
> >>
> >



http://www.generation-nt.com/interroger-un-fichier-ferme-vlookup-ado-ou-quoi
> > -entraide-401017.html
> >> --
> >> Salutations
> >> JJ
> >>
> >>
> >> "Michel Mto"

news:
> > i272h6$ebv$
> >> > Bonjour à toutes et à tous,
> >> > Est ce que dans une macro de ce type :
> >> >
> >> > MATCH(""Totaux"",'[Brouillard XXX " & Year(Date) & _
> >> > ".xls]" & Workbooks("Brouillard XXX " & Year(Date) &
> >> > ".xls").Sheets(Workbooks("Brouillard XXX " _
> >> > & Year(Date) & ".xls").Sheets.Count - 1).Name & _
> >> > "'!$C:$C,0)
> >> > qui me donne la formule suivante : EQUIV("Totaux";'[Brouillard XXX
> >> > 2010.xls]nomdefeuille'!$C:$C;0)
> >> >
> >> > je pourrai éviter d'ouvrir le classeur "Brouillard XXX 2010.xls"


qui
> >> > contient le nom de la feuille dans laquelle doit s'effectuer la
> > recherche.
> >> > En effet, je voudrais aller chercher, au travers de ce code, le nom
de
> >> > l'avant dernière feuille, mais sans ouvrir ce classeur.
> >> >
> >> > Est ce possible, quelle est la synthaxe ??
> >> > Merci d'avance pour votre aide.
> >> >
> >> > Michel MTO
> >> >
> >> >
> >> >
> >>
> >>
> >>
> >
> >
>
>






DanielCo
Le #22386941
Bonjour.
Je ne connais rien à DAO; je suppose que :
Set XlDb = OpenDatabase(fichier, False, True, "Excel 8.0;")
affecte à XLDb l'objet classeur
et que :
XlDb.TableDefs
représente les feuilles et les plages définies dans le classeur. Pour
trouver l'avant dernière feuille, essaie :

Sub test()
Dim XlDb As DAO.Database, Nb As Integer, Tabl() As String
Dim Fichier As String, Ctr As Integer
Ctr = -1
Fichier = "d:donneesdanielvocabulaire.xls"
Set XlDb = OpenDatabase(Fichier, False, True, "Excel 8.0;")
For i = 0 To XlDb.TableDefs.Count - 1
If Right(XlDb.TableDefs(i).Name, 1) = "$" Then
Ctr = Ctr + 1
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = XlDb.TableDefs(i).Name
End If
Next i
MsgBox Tabl(UBound(Tabl) - 1)
End Sub

Cordialement.
Daniel

Bonjour Daniel,
Effectivement au moment de l'exécution du code il y avait une petite erreur,
"l'indice n'appartient pas à la sélection" quelque chose dans ce genre !!
merci à toi pour la correction.

Connais tu la signafication de :
Set XlDb = OpenDatabase(fichier, False, True, "Excel 8.0;")
Nb = XlDb.TableDefs.Count - 1

et comment éviter de compter les feuilles des plages nommées et des plages
filtrées.
Merci

Michel MTO

"DanielCo" i2blpk$k55$
Bonjour Jacky
Ce code fonctionne en remplaçant
MsgBox Sheets(Nb).Name
par
MsgBox XlDb.TableDefs(Nb).Name
Toutefois, il tient compte en plus des feuilles des plages nommées et
des plages filtrées.
Cordialement.
Daniel
Publicité
Poster une réponse
Anonyme