macros: nommer un onglet sur invite de script?

  • Initiateur de la discussion vincent
  • Date de début
V

vincent

Guest
Bonjour à tous

Je suis confronté à un problème qui me paraît assez complexe à propos des macros.

Ma macro extrait des données d’une base de donnée pour les mettre en forme sur un tableau, chaque mois, et ce, automatiquement.

Or, j’aimerais que le nom de l’onglet corresponde au mois, ou à n’importe quel texte que j’aurais entré dans une boîte d’invite de script (je crois que cela s’appelle comme ça).

En bref, est il possible d’ouvrir une invite de script au cours d’une macro et que l’utilisateur entre du texte qui sera utilisé pour nommer les onglets ?

Si quelqu’un sait, je le remercie d’avance, et respect total ! ! !
 
V

vincent

Guest
Respect!!

Je te remercie pour ta réponse. Dans ma macro je nomme mon onglet (' France ' + X) ou (' Export ' + X) pour qu’elle travaille sur l’onglet crée. X est le mois de l’année comme dans la formule que tu m’as écrite.

Mon souci c que si j’écris Sheets ' (' France '+ X) '.select VB bloque parce qu’il y a deux guillemets ouverts. C quoi l’astuce ?

Merci d’avance ! !
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Vincent, Creepy, le Forum

Si j'ai bien Compris ta question Vincent, je m'y prendais comme ceci :

Sub TheSheetSelector()
Dim X As String
    X = InputBox('Quelle nom d
'onglet donner ?', 'Alors ...')
       
If X = '' Then Exit Sub
       
On Error GoTo Out
          Sheets(X).Activate
       
Exit Sub
Out:
MsgBox 'La Feuille ' & X & ' n
'existe pas dans le Classeur ' & ActiveWorkbook.Name
End Sub

Inutile par Contre de Saisir le Nom de La Feuille avec des 'Guillements', mais tel que ce Nom existe.

J'ajoute que si tu dois concaténer aussi une date telle que '04' (pour le mois en cours par exemple) il sera inutile de l'indiquer dans l'exemple ci-dessous :

Exemple tu as une Feuille Nommée 'Test04' tu lances cette macro :
Sub TheSheetSelector()
Dim X As String
Dim Mois As String

Mois = Format(Date, 'MM')

    X = InputBox('Quelle nom d
'onglet donner ?', 'Alors ...')
       
If X = '' Then Exit Sub
       
On Error GoTo Out
          Sheets(X & Mois).Activate
       
Exit Sub
Out:
MsgBox 'La Feuille ' & X & Mois & ' n
'existe pas dans le Classeur ' & ActiveWorkbook.Name
End Sub

Dans le Prompt d'InputBox tu ne saisis que 'TEST' ... le '04' s'ajoutera automatiquement...

Bonne Soirée
@+Thierry
 

Statistiques des forums

Discussions
312 307
Messages
2 087 096
Membres
103 468
dernier inscrit
TRINITY