quitter userform en déclenchant l'effacement d'1 feuille

quitter userform en déclenchant l'effacement d'1 feuille - VB/VBA/VBS - Programmation

Marsh Posté le 11-05-2005 à 09:41:54    

rebonjour tout l'monde,
 
voilà je vous explique le truc (ça commence à devenir une habitude, mais bon je débute en vba juste pour satisfaire les exigences d'1 patron...)
 
j'ai créé un userform avec un bouton qui me permet de faire apparître un graphique sur une feuille. L'idée est quand je clique sur un autre boutton "quitter", la feuille tracée disparaît (s'efface).
Cependant, l'utilisateur a le choix, il n'est pas obligé de cliquer sur le boutton "graphique"
 
le pb, vient lorsqu'il n'y a pas de graphique tracer, lorsqu'on quitte la userform: erreur d'exécution '9' indice en dehors de la plage... :ouch:  
 
If Sheets("Graphe1" ).Select Then
 
    Sheets("Graphe1" ).Select
    ActiveWindow.SelectedSheets.Delete
    Range("M24" ).Select
    ActiveWorkbook.Save
    End If
If Sheets("feuille1" ).Select Then
ActiveWorkbook.Save
End If
If Sheets("feuille2" ).Select Then
ActiveWorkbook.Save
End If
'quitter
 
visueau.Hide
 
Pouvez vous m'aider,
merci

Reply

Marsh Posté le 11-05-2005 à 09:41:54   

Reply

Marsh Posté le 11-05-2005 à 10:52:27    

le truc est déliminer (effacer) la feuille ("graphe1" ) si elle existe sinon simplement enregistrer.
 
If Not Sheets("Graphe1" ).Select Then
    ActiveWorkbook.Save
Else
    Sheets("Graphe1" ).Select
    ActiveWindow.SelectedSheets.Delete
    Range("M24" ).Select
    ActiveWorkbook.Save
End If
 
J'y arrive vriament pas,
si qlq'1 arriverait simplement à me donner le "code" pour l'existance potentielle d'1 feuille je pense pouvoir y arriver

Reply

Marsh Posté le 11-05-2005 à 11:28:48    

essaye de t'inspirer de ca :  
 

Citation :

' ****************************************************************
Public Function EXISTE(ByVal nef As String) As Boolean
' ****************************************************************
 
' Vérifie l'existence d'un fichier sans tenir compte de la structure
 
On Error Resume Next
Open nef For Input As #1
EXISTE = Err.Number = 0
Close #1
 
End Function


 
a la place de nef tu peux mettre le nom de ta feuil
et un truc du style
 
On Error Resume Next
thisworkbook.sheets(NomDeLaFeuil).select
EXISTE = Err.Number = 0
 
je dis ca au hasard mais ma me parait faisable.

Reply

Marsh Posté le 11-05-2005 à 13:30:50    

bien vue ;-)
je te remercie ça fonctionne
 
au final le prgm a cette forme:
 
sheetExists = False
On Error GoTo NoSuchSheet
If Len(Sheets("graphe1" ).Name) > 0 Then
sheetExists = True
    Sheets("Graphe1" ).Select
    Application.DisplayAlerts = False
    ActiveWindow.SelectedSheets.Delete
    ActiveWorkbook.Save
End If
NoSuchSheet:
ActiveWorkbook.Save
 
visueau.Hide
 
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed