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

Copier une variable dans un commentaire (vba)

6 réponses
Avatar
j-pascal
Bonjour,

J'ai une variable "toto" qui me renvoit le nom d'un fichier avec son
path complet :

Toto = C:\Documents and Settings\zouzou\Bureau\Extract s15 .xls


Question 1

Comment puis-je ne récupérer que le nom du classeur ?
(ici : Extract s15 .xls), sachant que le nom peut être plus ou moins
long !

Actuellement, je colle ce nom (issu de la macro) dans une cellule.
[d3] = toto

Question 2

Comment puis-je copier le nom du classeur dans un commentaire créé dans
la cellule [d3]. Si possible, j'aimerais que ce commentaire comporte
déjà un entête du genre : "Fichier exporté", puis 2 lignes en dessous,
le nom de mon classeur (soit ici, la variable "toto") ?

Un grand merci d'avance pour votre aide,

JP

6 réponses

Avatar
Jacky
Bonjour,
Par exemple
'-------------
Dim nom As String
nom = ThisWorkbook.Name '***réponse 1
MsgBox nom '* facultatif
[d3].ClearComments '*** réponse 2
[d3].AddComment.Text Text:="Fichier exporté" & Chr(10) & Chr(10) & nom
'------------

--
Salutations
JJ


"j-pascal" a écrit dans le message de news:

Bonjour,

J'ai une variable "toto" qui me renvoit le nom d'un fichier avec son path
complet :

Toto = C:Documents and SettingszouzouBureauExtract s15 .xls


Question 1

Comment puis-je ne récupérer que le nom du classeur ?
(ici : Extract s15 .xls), sachant que le nom peut être plus ou moins long
!

Actuellement, je colle ce nom (issu de la macro) dans une cellule.
[d3] = toto

Question 2

Comment puis-je copier le nom du classeur dans un commentaire créé dans la
cellule [d3]. Si possible, j'aimerais que ce commentaire comporte déjà un
entête du genre : "Fichier exporté", puis 2 lignes en dessous, le nom de
mon classeur (soit ici, la variable "toto") ?

Un grand merci d'avance pour votre aide,

JP




Avatar
j-pascal
Bonjour Michel,

Magnifique !

Merci !

JP

Bonjour J-Pascal,

Voici 2 façons d'extraire le nom du fichier de ta variable toto

Les fonctions "split" et InStrRev requiert la version excel 2000 ou plus
récent.

toto = "C:Documents and SettingszouzouBureauExtract s15 .xls"

Fichier = Split(toto, "")(UBound(Split(toto, "")))
OU
MonFichier = Mid(toto, InStrRev(toto, "") + 1, 255)






"j-pascal" a écrit dans le message de groupe de
discussion : Bonjour,

J'ai une variable "toto" qui me renvoit le nom d'un fichier avec son
path complet :

Toto = C:Documents and SettingszouzouBureauExtract s15 .xls


Question 1

Comment puis-je ne récupérer que le nom du classeur ?
(ici : Extract s15 .xls), sachant que le nom peut être plus ou moins
long !

Actuellement, je colle ce nom (issu de la macro) dans une cellule.
[d3] = toto

Question 2

Comment puis-je copier le nom du classeur dans un commentaire créé dans
la cellule [d3]. Si possible, j'aimerais que ce commentaire comporte
déjà un entête du genre : "Fichier exporté", puis 2 lignes en dessous,
le nom de mon classeur (soit ici, la variable "toto") ?

Un grand merci d'avance pour votre aide,

JP


Avatar
j-pascal
Bonjour Jacky,

Merci bcp, c'est parfait !

JP

Bonjour,
Par exemple
'-------------
Dim nom As String
nom = ThisWorkbook.Name '***réponse 1
MsgBox nom '* facultatif
[d3].ClearComments '*** réponse 2
[d3].AddComment.Text Text:="Fichier exporté" & Chr(10) & Chr(10) & nom
'------------

--
Salutations
JJ


"j-pascal" a écrit dans le message de news:

Bonjour,

J'ai une variable "toto" qui me renvoit le nom d'un fichier avec son path
complet :

Toto = C:Documents and SettingszouzouBureauExtract s15 .xls


Question 1

Comment puis-je ne récupérer que le nom du classeur ?
(ici : Extract s15 .xls), sachant que le nom peut être plus ou moins long !

Actuellement, je colle ce nom (issu de la macro) dans une cellule.
[d3] = toto

Question 2

Comment puis-je copier le nom du classeur dans un commentaire créé dans la
cellule [d3]. Si possible, j'aimerais que ce commentaire comporte déjà un
entête du genre : "Fichier exporté", puis 2 lignes en dessous, le nom de
mon classeur (soit ici, la variable "toto") ?

Un grand merci d'avance pour votre aide,

JP






Avatar
j-pascal
Merci,

Ca me fait 2 petits carrés, un :

- entre les lignes du commentaire
- après le titre

!!

JP

Je n'ai pas vu la deuxième partie de ta question :

'--------------------------------------
Sub test()
toto = "C:Documents and SettingszouzouBureauExtract s15 .xls"

'Extraction du nom du fichier :
fichier = Split(toto, "")(UBound(Split(toto, "")))
'OU
monfichier = Mid(toto, VBA.InStrRev(toto, "") + 1, 255)

With Range("D3") 'Ajout du commentaire
.ClearComments
.AddComment "Fichier exporté :" & vbCrLf & vbCrLf & monfichier
End With

End Sub
'--------------------------------------



"MichDenis" a écrit dans le message de groupe de
discussion : Bonjour
J-Pascal,

Voici 2 façons d'extraire le nom du fichier de ta variable toto

Les fonctions "split" et InStrRev requiert la version excel 2000 ou plus
récent.

toto = "C:Documents and SettingszouzouBureauExtract s15 .xls"

Fichier = Split(toto, "")(UBound(Split(toto, "")))
OU
MonFichier = Mid(toto, InStrRev(toto, "") + 1, 255)






"j-pascal" a écrit dans le message de groupe de
discussion : Bonjour,

J'ai une variable "toto" qui me renvoit le nom d'un fichier avec son
path complet :

Toto = C:Documents and SettingszouzouBureauExtract s15 .xls


Question 1

Comment puis-je ne récupérer que le nom du classeur ?
(ici : Extract s15 .xls), sachant que le nom peut être plus ou moins
long !

Actuellement, je colle ce nom (issu de la macro) dans une cellule.
[d3] = toto

Question 2

Comment puis-je copier le nom du classeur dans un commentaire créé dans
la cellule [d3]. Si possible, j'aimerais que ce commentaire comporte
déjà un entête du genre : "Fichier exporté", puis 2 lignes en dessous,
le nom de mon classeur (soit ici, la variable "toto") ?

Un grand merci d'avance pour votre aide,

JP


Avatar
MichDenis
| Ca me fait 2 petits carrés


ça doit dépendre des versions... sous excel 2007,
il n'y a pas de petits carrés.
Avatar
j-pascal
Pas grave.

J'ai la version 2002.

Merci

JP

Ca me fait 2 petits carrés




ça doit dépendre des versions... sous excel 2007,
il n'y a pas de petits carrés.