Récupérer le nom d'une feuille inputbox
Résolu
Etienne
-
Etienne -
Etienne -
Bonjour,
J'ai fait pas mal de recherche sur le forum mais pas moyen de trouver précisément ce que je cherche.
J'aimerais récupérer le nom d'une feuille avec une inputbox pour pouvoir après la stocker dans une variable et la réutiliser(c'est sur cette deuxième partie que je bloque.)
Merci d'avance pour votre aide.
J'ai fait pas mal de recherche sur le forum mais pas moyen de trouver précisément ce que je cherche.
J'aimerais récupérer le nom d'une feuille avec une inputbox pour pouvoir après la stocker dans une variable et la réutiliser(c'est sur cette deuxième partie que je bloque.)
DeleteData = InputBox("Sélectionnez une feuille Valeur Min", "ValeurMin")
onglet = DeleteData.SheetName 'Cette ligne est fausse bien entendu mais je ne sais pas par quoi la remplacer
Merci d'avance pour votre aide.
Configuration: Windows / Edge 18.17763
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
peut-être:option explicit ' ... dim Deletedata as string, onglet as worksheet DeleteData = InputBox("Sélectionnez une feuille Valeur Min", "ValeurMin") set onglet = Sheets(DeleteData) onglet.[a1]="ceci est l'onglet "+onglet.name -
Bonjour,
Voici :Option Explicit Sub Essai() Dim iVar As Variant, MaFeuille As Worksheet iVar = InputBox("Saisir le nom de la feuille Valeur Min", "ValeurMin") If StrPtr(iVar) = 0 Then MsgBox "Vous avez annulé", vbCritical + vbOKOnly, "Annulation utilisateur" ElseIf iVar = vbNullString Then MsgBox "Aucune saisie", vbCritical + vbOKOnly, "Pas de saisie utilisateur" Else Set MaFeuille = getSheetByName(CStr(iVar), ThisWorkbook) If Not MaFeuille Is Nothing Then MsgBox MaFeuille.Name End If End If End Sub Function getSheetByName(Name As String, Optional Wb As Workbook) As Object 'Pierre Fauconnier 'https://www.developpez.net/forums/blogs/27262-pierre-fauconnier/b8231/vba-excel-verifier-quune-feuille-existe-classeur-trouver-feuille-nom-classeur/ Dim sh As Object, Counter As Long If Wb Is Nothing Then Set Wb = ActiveWorkbook Counter = 1 Do While Counter <= Wb.Sheets.Count And getSheetByName Is Nothing If StrComp(Wb.Sheets(Counter).Name, Name, vbTextCompare) = 0 Then Set getSheetByName = Wb.Sheets(Counter) Counter = Counter + 1 Loop End Function
-