on m'a posé une question assez intéressante en VBA :
- comment peut-on connaître le nom (temporaire) du prochain nouveau classeur
créé ou celui du dernier nouveau classeur créé ?
Malheureusement, je n'ai pas de réponse à apporter, alors peut-être en
avez-vous une ??
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Vincnet.
Bonjour, Eh bien en créant par macro un nouveau classeur, non ? (bien sûr tu crées inutilement ce nouveau classeur, mais comme tu connais son nom, tu peux en déduire celui du prochain et celui du précédent) -- A+
V.
Bonjour à tout le monde,
on m'a posé une question assez intéressante en VBA : - comment peut-on connaître le nom (temporaire) du prochain nouveau classeur créé ou celui du dernier nouveau classeur créé ?
Malheureusement, je n'ai pas de réponse à apporter, alors peut-être en avez-vous une ??
Merci d'avance,
Yvan
Bonjour,
Eh bien en créant par macro un nouveau classeur, non ?
(bien sûr tu crées inutilement ce nouveau classeur, mais comme tu connais
son nom, tu peux en déduire celui du prochain et celui du précédent)
--
A+
V.
Bonjour à tout le monde,
on m'a posé une question assez intéressante en VBA :
- comment peut-on connaître le nom (temporaire) du prochain nouveau classeur
créé ou celui du dernier nouveau classeur créé ?
Malheureusement, je n'ai pas de réponse à apporter, alors peut-être en
avez-vous une ??
Bonjour, Eh bien en créant par macro un nouveau classeur, non ? (bien sûr tu crées inutilement ce nouveau classeur, mais comme tu connais son nom, tu peux en déduire celui du prochain et celui du précédent) -- A+
V.
Bonjour à tout le monde,
on m'a posé une question assez intéressante en VBA : - comment peut-on connaître le nom (temporaire) du prochain nouveau classeur créé ou celui du dernier nouveau classeur créé ?
Malheureusement, je n'ai pas de réponse à apporter, alors peut-être en avez-vous une ??
Merci d'avance,
Yvan
anonymousA
bonjour,
2 cas; 1-quand tu ouvres un nouveau classeur, celui-ci est par définition actif, il te suffit dans une macro qui a déclenché la création de ce nouveau classeur d'écrire pour obtenir le numéro de celui-ci
tu obtiens ainsi le N° du classeur nouvellement ouvert (en supposant que tu es dans un Excel Français car classeur possède 8 lettres )
2-tu scrutes les classeurs dans la collection des classeurs ouverts et tu recherches un classeur dont le nom commence par Classeur (ca suppose d'une part que tu n'aies pas un autre classeur soit de même type ouvert car auquel cas, il faudrait rechercher le plus grand numéro: c'est possible mais un peu plus long car il faut faire un test, et d'autre part que tu n'aies pas un classeur lui dûment enregistré mais dont le nom commence par Classeur) et ensuite tu fais la même chose que dans le cas 1
For each wbk in workbooks if left(wbk.name,8)="Classeur" then Nuclass=Right(wbk.Name, Len(wbk.Name) - 8) end if exit for next
A+
Bonjour à tout le monde,
on m'a posé une question assez intéressante en VBA : - comment peut-on connaître le nom (temporaire) du prochain nouveau classeur créé ou celui du dernier nouveau classeur créé ?
Malheureusement, je n'ai pas de réponse à apporter, alors peut-être en avez-vous une ??
Merci d'avance,
Yvan
bonjour,
2 cas;
1-quand tu ouvres un nouveau classeur, celui-ci est par définition actif, il
te suffit dans une macro qui a déclenché la création de ce nouveau classeur
d'écrire pour obtenir le numéro de celui-ci
tu obtiens ainsi le N° du classeur nouvellement ouvert (en supposant que tu
es dans un Excel Français car classeur possède 8 lettres )
2-tu scrutes les classeurs dans la collection des classeurs ouverts et tu
recherches un classeur dont le nom commence par Classeur (ca suppose d'une
part que tu n'aies pas un autre classeur soit de même type ouvert car auquel
cas, il faudrait rechercher le plus grand numéro: c'est possible mais un peu
plus long car il faut faire un test, et d'autre part que tu n'aies pas un
classeur lui dûment enregistré mais dont le nom commence par Classeur)
et ensuite tu fais la même chose que dans le cas 1
For each wbk in workbooks
if left(wbk.name,8)="Classeur" then
Nuclass=Right(wbk.Name, Len(wbk.Name) - 8)
end if
exit for
next
A+
Bonjour à tout le monde,
on m'a posé une question assez intéressante en VBA :
- comment peut-on connaître le nom (temporaire) du prochain nouveau classeur
créé ou celui du dernier nouveau classeur créé ?
Malheureusement, je n'ai pas de réponse à apporter, alors peut-être en
avez-vous une ??
2 cas; 1-quand tu ouvres un nouveau classeur, celui-ci est par définition actif, il te suffit dans une macro qui a déclenché la création de ce nouveau classeur d'écrire pour obtenir le numéro de celui-ci
tu obtiens ainsi le N° du classeur nouvellement ouvert (en supposant que tu es dans un Excel Français car classeur possède 8 lettres )
2-tu scrutes les classeurs dans la collection des classeurs ouverts et tu recherches un classeur dont le nom commence par Classeur (ca suppose d'une part que tu n'aies pas un autre classeur soit de même type ouvert car auquel cas, il faudrait rechercher le plus grand numéro: c'est possible mais un peu plus long car il faut faire un test, et d'autre part que tu n'aies pas un classeur lui dûment enregistré mais dont le nom commence par Classeur) et ensuite tu fais la même chose que dans le cas 1
For each wbk in workbooks if left(wbk.name,8)="Classeur" then Nuclass=Right(wbk.Name, Len(wbk.Name) - 8) end if exit for next
A+
Bonjour à tout le monde,
on m'a posé une question assez intéressante en VBA : - comment peut-on connaître le nom (temporaire) du prochain nouveau classeur créé ou celui du dernier nouveau classeur créé ?
Malheureusement, je n'ai pas de réponse à apporter, alors peut-être en avez-vous une ??
Merci d'avance,
Yvan
isabelle
bonjour Yvan,
je ne suis pas sur de bien comprendre la question, pour intercepter la création d'un nouveau classeur il faut dabord créer un module de classe. ensuite tu crée la connection dans un module standard, tu met ce code puis tu l'exécute par exemple : EventClassModule étant le nom du nouveau module de classe
Dim X As New EventClassModule Sub InitializeApp() Set X.App = Application End Sub
dans le module de classe tu met ce code événementiel.
Public WithEvents App As Application
Private Sub App_NewWorkbook(ByVal Wb As Workbook) MsgBox Application.ActiveWindow.Caption End Sub
isabelle
Bonjour à tout le monde,
on m'a posé une question assez intéressante en VBA : - comment peut-on connaître le nom (temporaire) du prochain nouveau classeur créé ou celui du dernier nouveau classeur créé ?
Malheureusement, je n'ai pas de réponse à apporter, alors peut-être en avez-vous une ??
Merci d'avance,
Yvan
bonjour Yvan,
je ne suis pas sur de bien comprendre la question,
pour intercepter la création d'un nouveau classeur il faut dabord créer
un module de classe.
ensuite tu crée la connection
dans un module standard, tu met ce code puis tu l'exécute
par exemple : EventClassModule étant le nom du nouveau module de classe
Dim X As New EventClassModule
Sub InitializeApp()
Set X.App = Application
End Sub
dans le module de classe tu met ce code événementiel.
Public WithEvents App As Application
Private Sub App_NewWorkbook(ByVal Wb As Workbook)
MsgBox Application.ActiveWindow.Caption
End Sub
isabelle
Bonjour à tout le monde,
on m'a posé une question assez intéressante en VBA :
- comment peut-on connaître le nom (temporaire) du prochain nouveau classeur
créé ou celui du dernier nouveau classeur créé ?
Malheureusement, je n'ai pas de réponse à apporter, alors peut-être en
avez-vous une ??
je ne suis pas sur de bien comprendre la question, pour intercepter la création d'un nouveau classeur il faut dabord créer un module de classe. ensuite tu crée la connection dans un module standard, tu met ce code puis tu l'exécute par exemple : EventClassModule étant le nom du nouveau module de classe
Dim X As New EventClassModule Sub InitializeApp() Set X.App = Application End Sub
dans le module de classe tu met ce code événementiel.
Public WithEvents App As Application
Private Sub App_NewWorkbook(ByVal Wb As Workbook) MsgBox Application.ActiveWindow.Caption End Sub
isabelle
Bonjour à tout le monde,
on m'a posé une question assez intéressante en VBA : - comment peut-on connaître le nom (temporaire) du prochain nouveau classeur créé ou celui du dernier nouveau classeur créé ?
Malheureusement, je n'ai pas de réponse à apporter, alors peut-être en avez-vous une ??