Inputbox ou Usf ?

Le
Patrick BASTARD
Bonjour à tous

Mes noms de zone sont, par exemple, en A2 :An
*************************
Sub Suppr()
Dim LeNom
LeNom = InputBox("Choisir un nom", "Suppression d'une zone et d'un nom
de zone", "???")
Application.Goto Reference:=LeNom
Selection.Delete Shift:=xlUp
ActiveWorkbook.Names(LeNom).Delete
End Sub
*************************
Quelles solutions préconiseriez-vous pour remplacer les "???" par la liste
des noms ?
Pensez-vous que je doive obligatoirement passer par un USF pour avoir le
choix (liste déroulante) des noms disponibles ?

D'avance, merci pour vos conseils.
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #5063961
Bonsoir,

http://cjoint.com/?lys2YwMsRA

Private Sub UserForm_Initialize()
nchamps = 0
For Each n In ActiveWorkbook.Names
nchamps = nchamps + 1
Me.ListBox1.AddItem n.Name
Next n
End Sub

Private Sub B_sup_Click()
temp = Me.ListBox1
If MsgBox("Etes vous sûr?", vbYesNo) = vbYes Then
ActiveWorkbook.Names(temp).Delete
Me.ListBox1.RemoveItem Me.ListBox1.ListIndex
End If
End Sub

JB

On 24 nov, 18:00, "Patrick BASTARD"
Bonjour à tous

Mes noms de zone sont, par exemple, en A2 :An
*************************
Sub Suppr()
Dim LeNom
LeNom = InputBox("Choisir un nom", "Suppression d'une zone et d'un n om
de zone", "???")
Application.Goto Reference:=LeNom
Selection.Delete Shift:=xlUp
ActiveWorkbook.Names(LeNom).Delete
End Sub
*************************
Quelles solutions préconiseriez-vous pour remplacer les "???" par la lis te
des noms ?
Pensez-vous que je doive obligatoirement passer par un USF pour avoir le
choix (liste déroulante) des noms disponibles ?

D'avance, merci pour vos conseils.
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.


Patrick BASTARD
Le #5063941
Bonsoir, *Jacques*

Je te remercie.
Je vais adapter ton code pour exclure les noms à ne pas supprimer (tels que
modèle, zone d'impression...).

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

Bonsoir,

http://cjoint.com/?lys2YwMsRA

Private Sub UserForm_Initialize()
nchamps = 0
For Each n In ActiveWorkbook.Names
nchamps = nchamps + 1
Me.ListBox1.AddItem n.Name
Next n
End Sub

Private Sub B_sup_Click()
temp = Me.ListBox1
If MsgBox("Etes vous sûr?", vbYesNo) = vbYes Then
ActiveWorkbook.Names(temp).Delete
Me.ListBox1.RemoveItem Me.ListBox1.ListIndex
End If
End Sub

JB

On 24 nov, 18:00, "Patrick BASTARD"
Bonjour à tous

Mes noms de zone sont, par exemple, en A2 :An
*************************
Sub Suppr()
Dim LeNom
LeNom = InputBox("Choisir un nom", "Suppression d'une zone et
d'un nom de zone", "???")
Application.Goto Reference:=LeNom
Selection.Delete Shift:=xlUp
ActiveWorkbook.Names(LeNom).Delete
End Sub
*************************
Quelles solutions préconiseriez-vous pour remplacer les "???" par la
liste des noms ?
Pensez-vous que je doive obligatoirement passer par un USF pour
avoir le choix (liste déroulante) des noms disponibles ?

D'avance, merci pour vos conseils.
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.




JB
Le #5063931
http://cjoint.com/?lytut7Dugt

JB

On 24 nov, 18:55, JB
Bonsoir,

http://cjoint.com/?lys2YwMsRA

Private Sub UserForm_Initialize()
nchamps = 0
For Each n In ActiveWorkbook.Names
nchamps = nchamps + 1
Me.ListBox1.AddItem n.Name
Next n
End Sub

Private Sub B_sup_Click()
temp = Me.ListBox1
If MsgBox("Etes vous sûr?", vbYesNo) = vbYes Then
ActiveWorkbook.Names(temp).Delete
Me.ListBox1.RemoveItem Me.ListBox1.ListIndex
End If
End Sub

JB

On 24 nov, 18:00, "Patrick BASTARD"



Bonjour à tous

Mes noms de zone sont, par exemple, en A2 :An
*************************
Sub Suppr()
Dim LeNom
LeNom = InputBox("Choisir un nom", "Suppression d'une zone et d'un nom
de zone", "???")
Application.Goto Reference:=LeNom
Selection.Delete Shift:=xlUp
ActiveWorkbook.Names(LeNom).Delete
End Sub
*************************
Quelles solutions préconiseriez-vous pour remplacer les "???" par la l iste
des noms ?
Pensez-vous que je doive obligatoirement passer par un USF pour avoir le
choix (liste déroulante) des noms disponibles ?

D'avance, merci pour vos conseils.
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



LSteph
Le #5063901
Bonsoir,

oui pouquoi pas avec

Userform (exemple de code ci après)
une listbox 2 commandbuttons et 1 label

mais

tu peux aussi sans doute faire autrement liste ou autre dans la
feuille et une macro.

J'écarterais l'inputbox mais attention
regarde là '*****t'es sûr*****
tout va remonter et surtout
d'autre part certains noms peuvent être autre chose qu'une plage!

Cordialement

'lSteph

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub listbox1_Change()
If Len(ListBox1) > 0 Then _
Label1 = ActiveWorkbook.Names(ListBox1.ListIndex + 1).RefersTo
End Sub

Private Sub CommandButton1_Click()
Dim msg As Integer
If Len(ListBox1) > 0 Then
msg = MsgBox("La zone: " & ListBox1 & _
" va être supprimée", vbOKCancel, "Attention")
If msg = 1 Then
'*****t'es sûr*****
Application.Goto Reference:=ListBox1
Selection.Delete Shift:=xlUp
ActiveWorkbook.Names(ListBox1.ListIndex + 1).Delete
'******************
Else
MsgBox "annulé"
End If
Unload Me
Else
MsgBox "vous devez sélectionner un nom"
End If

End Sub

Private Sub UserForm_Initialize()
Dim i As Integer
ListBox1.Clear

With ActiveWorkbook
For i = 1 To .Names.Count
ListBox1.AddItem .Names(i).Name
Next
End With
End Sub


Bonjour à tous

Mes noms de zone sont, par exemple, en A2 :An
*************************
Sub Suppr()
Dim LeNom
LeNom = InputBox("Choisir un nom", "Suppression d'une zone et d'un nom
de zone", "???")
Application.Goto Reference:=LeNom
Selection.Delete Shift:=xlUp
ActiveWorkbook.Names(LeNom).Delete
End Sub
*************************
Quelles solutions préconiseriez-vous pour remplacer les "???" par la liste
des noms ?
Pensez-vous que je doive obligatoirement passer par un USF pour avoir le
choix (liste déroulante) des noms disponibles ?

D'avance, merci pour vos conseils.


Patrick BASTARD
Le #5063821
Bonsoir, *LSteph*

Merci pour tes conseils.
Je souhaite en effet faire remonter les zones nommées lorsque je supprime
l'une d'elles.
Concernant la suppression des noms, il suffira que j'exclue les noms qui ne
sont pas des zones supprimables (Zone d'impression, Impression des
titres...) en les testant dans le code suivant :

With ActiveWorkbook
For i = 1 To .Names.Count
if Names(i).Name <>...then
ListBox1.AddItem .Names(i).Name
Next
End With
End Sub

J'y travaille.

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

Bonsoir,

oui pouquoi pas avec

Userform (exemple de code ci après)
une listbox 2 commandbuttons et 1 label

mais

tu peux aussi sans doute faire autrement liste ou autre dans la
feuille et une macro.

J'écarterais l'inputbox mais attention
regarde là '*****t'es sûr*****
tout va remonter et surtout
d'autre part certains noms peuvent être autre chose qu'une plage!

Cordialement

'lSteph

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub listbox1_Change()
If Len(ListBox1) > 0 Then _
Label1 = ActiveWorkbook.Names(ListBox1.ListIndex + 1).RefersTo
End Sub

Private Sub CommandButton1_Click()
Dim msg As Integer
If Len(ListBox1) > 0 Then
msg = MsgBox("La zone: " & ListBox1 & _
" va être supprimée", vbOKCancel, "Attention")
If msg = 1 Then
'*****t'es sûr*****
Application.Goto Reference:=ListBox1
Selection.Delete Shift:=xlUp
ActiveWorkbook.Names(ListBox1.ListIndex + 1).Delete
'******************
Else
MsgBox "annulé"
End If
Unload Me
Else
MsgBox "vous devez sélectionner un nom"
End If

End Sub

Private Sub UserForm_Initialize()
Dim i As Integer
ListBox1.Clear

With ActiveWorkbook
For i = 1 To .Names.Count
ListBox1.AddItem .Names(i).Name
Next
End With
End Sub


Bonjour à tous

Mes noms de zone sont, par exemple, en A2 :An
*************************
Sub Suppr()
Dim LeNom
LeNom = InputBox("Choisir un nom", "Suppression d'une zone et
d'un nom de zone", "???")
Application.Goto Reference:=LeNom
Selection.Delete Shift:=xlUp
ActiveWorkbook.Names(LeNom).Delete
End Sub
*************************
Quelles solutions préconiseriez-vous pour remplacer les "???" par la
liste des noms ?
Pensez-vous que je doive obligatoirement passer par un USF pour
avoir le choix (liste déroulante) des noms disponibles ?

D'avance, merci pour vos conseils.




LSteph
Le #5393981
Bonjour,

un select case du .Names(i).name (noms à exclure séparés par ,)devrait
faire l'affaire pour mettre un tst booleen avant execution
de If tst ...

@+

lSteph

Bonsoir, *LSteph*

Merci pour tes conseils.
Je souhaite en effet faire remonter les zones nommées lorsque je supprime
l'une d'elles.
Concernant la suppression des noms, il suffira que j'exclue les noms qui ne
sont pas des zones supprimables (Zone d'impression, Impression des
titres...) en les testant dans le code suivant :

With ActiveWorkbook
For i = 1 To .Names.Count
if Names(i).Name <>...then
ListBox1.AddItem .Names(i).Name
Next
End With
End Sub

J'y travaille.



Patrick BASTARD
Le #5393611
Merci, *LSteph*


--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

Bonjour,

un select case du .Names(i).name (noms à exclure séparés par
,)devrait faire l'affaire pour mettre un tst booleen avant execution
de If tst ...

@+

lSteph

Bonsoir, *LSteph*

Merci pour tes conseils.
Je souhaite en effet faire remonter les zones nommées lorsque je
supprime l'une d'elles.
Concernant la suppression des noms, il suffira que j'exclue les noms
qui ne sont pas des zones supprimables (Zone d'impression,
Impression des titres...) en les testant dans le code suivant :

With ActiveWorkbook
For i = 1 To .Names.Count
if Names(i).Name <>...then
ListBox1.AddItem .Names(i).Name
Next
End With
End Sub

J'y travaille.




Publicité
Poster une réponse
Anonyme