Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Chemin

11 réponses
Avatar
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

10 réponses

1 2
Avatar
Jacky
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" a écrit dans le message de 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



Avatar
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" a écrit dans le message de news:
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" a écrit dans le message de 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
>
>
>



Avatar
Jacky
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" a écrit dans le message de news: 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" a écrit dans le message de news:
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" a écrit dans le message de 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
>
>
>







Avatar
Michel Mto
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" a écrit dans le message de news:
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" a écrit dans le message de news:


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" a écrit dans le message de news:
> 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" a écrit dans le message de 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
>> >
>> >
>> >
>>
>>
>>
>
>


Avatar
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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" a écrit dans le message de news:
> > 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" a écrit dans le message de


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
> >> >
> >> >
> >> >
> >>
> >>
> >>
> >
> >
>
>


Avatar
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
Avatar
Michel Mto
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" a écrit dans le message de news:
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


Avatar
Jacky
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" a écrit dans le message de news: 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


Avatar
Jacky
Re...
Voir la remarque de MichelCo

--
Salutations
JJ


"Michel Mto" a écrit dans le message de news: i2bg12$ab2$
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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" a écrit dans le message de news:
> > 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" a écrit dans le message de


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
> >> >
> >> >
> >> >
> >>
> >>
> >>
> >
> >
>
>






Avatar
DanielCo
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" a écrit dans le message de news:
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
1 2