Instruction Si Alors pour vérifier la présence d'objet

Bonjour,

Ci dessous le début d'un code qui est supposé, avant de construire un graph, vérifier, si le graph n'existe pas déjà. Si c'est le cas, l'effacer, sinon, continuer à faire un graph. Le problème c'est que (comme d'habitude) il y a une erreur qui renvoit un objet manquant (la construction de graph, elle même marche très bien.

Pourriez-vous m'aiguiller?

Sub graphiques()

nbfeuil = Sheets("statistiques").Index - 1

'verifie l'existence des graphs

If Workbook.Sheets("graphs") = True Then 'ERREUR: Objet Requis
MsgBox "alerte"
Else: Resume
End If

Set graph = ThisWorkbook.Charts.Add

graph.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Graphs"
.
.
.
.
.

Merci d'avance

Bonjour

En te faisant une petite fonction

Sub graphiques()
  If FeuilleExiste("graphs") = False Then
    MsgBox "Feuille inexistante"
  Else
    MsgBox "Feuille présente"
  End If
End Sub

Function FeuilleExiste(Nom As String) As Boolean
  On Error Resume Next
  FeuilleExiste = Sheets(Nom).Name <> ""
  On Error GoTo 0
End Function

Merci, je vais essayer, je n'ai pas encore lu le chapitre sur les fonctions. Quelle est la différence avec une macro (sub () ) normale?

Edit:

Cela fonctionne parfaitement! Merci encore

Bonsoir

ce que j'en sais (c'est à dire pas grand chose)

La fonction peut retourner une valeur

C'est tout

Salut le forum

En complément de la réponse de Banzaï

Une fonction peut-être utilisée directement dans une feuille de calcul.

Mytå

Une macro aussi non? On fait un raccourci clavier et ça marche dans une feuille?

Re le forum

Je parle d'une fonction personnalisée (Fx) comme les fonctions natives d'Excel.

Aucun rapport avec un raccourci clavier qui déclenche une macro.

Exemple de fonction dans la cellule =Calcul_Plage(E2:H2)

Function Calcul_Plage(Plage As Range) As Variant 
Dim Cellule As Range 
Dim Somme As Variant 

Somme = 0 
For Each Cellule In Plage 
With Cellule.Interior 
If .ColorIndex = 3 Then 'à modifier en fonction de ta couleur 
Somme = Somme + Cellule.Value 
End If 
End With 
Next 
Calcul_Plage = Somme 
End Function 

Mytå

D'accord. Merci

Rechercher des sujets similaires à "instruction verifier presence objet"