Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Tester existance d'une variable

  • Initiateur de la discussion Initiateur de la discussion lanzarotte
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

lanzarotte

Guest
Bonjour,
J'aimerais tester l'existance d'une variable. Si celle-ci existe j'effectue mon code et si celle-ci n'existe pas je ne fais rien.
Entrement dit :
Si MaVariable existe alors
faire ...
Fin Si

Voici mon code, je veux tester l'existance d'une variable type Shape (Zone de Texte ) définie par son nom ActiveSheet.Shape("NomZoneTexte")

Sub MiseAJourCommentaire()


Dim numeroAction As Integer

Dim NomZoneTexte As String


For numeroAction = 3 To 18 Step 3

NomZoneTexte = "ztxt" & numeroAction

'''' ICI JE VOUDRAIS Faire Si ActiveSheet.Shapes(NomZoneTexte) existe _ alors faire '''''

ActiveSheet.Shapes(NomZoneTexte).Select
Selection.Characters.Text = FeuilCoeur.Cells(3, numeroAction)

'''''''''Fin Si'''''''''''''''''''''''''''''''''''''''''''

Next numeroAction

End Sub


Merci pour votre aide !
 
Re : Tester existance d'une variable

Bonjour,

regarde peut être le code ci-dessous si il peut t'aider, la procédure appele une fonction personnalisée ...

Code:
Option Explicit
Sub test()
Dim nomshape As String
nomshape = "Rectangle 1"
If Not ShapeExiste(nomshape) Is Nothing Then MsgBox "OK existe"
End Sub


Function ShapeExiste(f As String) As Shape
On Error Resume Next
Set ShapeExiste = ActiveSheet.Shapes(f)
End Function

Bon après midi
@+
 
Re : Tester existance d'une variable

Bonjour à tous,

Ou alors
Code:
Sub MiseAJourCommentaire()
  Dim numeroAction As Integer
  Dim NomZoneTexte As String
  For numeroAction = 3 To 18 Step 3
    NomZoneTexte = "ztxt" & numeroAction
    On Error Resume Next
    ActiveSheet.Shapes(NomZoneTexte).Select
    If Err.Number = 0 Then
      Selection.Characters.Text = FeuilCoeur.Cells(3, numeroAction)
    End If
    On Error GoTo 0
  Next numeroAction
End Sub

A+
 
Re : Tester existance d'une variable

Merci à tous pour vos réponses ca va m'aider pour la suite. Notamment je vais regarder de plus pret les error go to... et peut-être optimiser mes sub.

Une des solutions que j'ai trouvée (merci au Forum Excel !) est :

Function ZoneTexteExiste(NomZoneTexte As String) As Boolean

Dim ZoneTexte As Shape

ZoneTexteExiste = False
For Each ZoneTexte In ActiveSheet.Shapes
If (ZoneTexte.Name = NomZoneTexte) Then
ZoneTexteExiste = True
End If
Next ZoneTexte

End Function
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…