PB : If Len(ActiveSheet.Shapes("texte1").Value) > 0 Then

  • Initiateur de la discussion Initiateur de la discussion guiguisbc
  • 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 !

G

guiguisbc

Guest
Bonjour à tous j'ai taper cette formule dans VBA et il me l'accepte pas pk?

Info :
*texte1 est une zone de texte
*Petit 1 est une image

Code:
Sub Ecrire()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
'c'est ici que sa marche pas
    If Len(ActiveSheet.Shapes("texte1").Value) > 0 Then
    ActiveSheet.Shapes("Petit 1").Visible = True
    ElseIf Len(ActiveSheet.Shapes("texte1").Value) = 0 Then
    ActiveSheet.Shapes("Petit 1").Visible = False
    End If
    If ActiveSheet.Shapes("texte1").Visible = False Then
    ActiveSheet.Shapes("texte1").Visible = True
    ElseIf ActiveSheet.Shapes("texte1").Visible = True Then
    ActiveSheet.Shapes("texte1").Visible = False
    End If
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
End Sub

Merci d'avance !😉
 
Re : PB : If Len(ActiveSheet.Shapes("texte1").Value) > 0 Then

Bonjour,

C'est une zone de texte ou un contrôle active x TextBox?

si c'est une zone de texte:

Code:
     ActiveSheet.Shapes("Petit 1").Visible = Len(ActiveSheet.Shapes("texte1").TextFrame.Characters.Text) > 0

Ou
Code:
ActiveSheet.Shapes("Petit 1").Visible = ActiveSheet.Shapes("texte1").TextFrame.Characters.Count > 0
Est suffisant. Les autres lignes sont inutiles.

A+
[Edit] Salut Pierrot😀
 
Dernière modification par un modérateur:
Re : PB : If Len(ActiveSheet.Shapes("texte1").Value) > 0 Then

Sa ne marche pas. vous êtes sur pour TextBox1?
Car c'est une zone de texte que j'ai insérer avec la barre outil dessin de Excel
 
Re : PB : If Len(ActiveSheet.Shapes("texte1").Value) > 0 Then

Sa marche 🙂 merci à vous deux !

Petit bémol c'est possible de mettre ce code dans une private sub pour que sa s'active sans que je lance la macro (si je dit pas de bêtise c'est sa?)

Si oui comment je l’écrit ma private sub?
 
Re : PB : If Len(ActiveSheet.Shapes("texte1").Value) > 0 Then

Re,

Je ne vois pas l'intérêt mais

Code:
Private Sub Ecrire()
ActiveSheet.Shapes("Petit 1").Visible = ActiveSheet.Shapes("texte1").TextFrame.Characters.Count > 0
End Sub
A appeler par
Code:
Ecrire
Ou
Code:
Call Ecrire()

A+
 
Re : PB : If Len(ActiveSheet.Shapes("texte1").Value) > 0 Then

L'interet c'est que je veut que excel détecte seul si oui ou non il a des caractère dans ma zone de texte sans que je passe par ma macro ecrire
 
Re : PB : If Len(ActiveSheet.Shapes("texte1").Value) > 0 Then

Bonjour,

L'aide excel sur option Explicit
Option Explicit, instruction


Instruction utilisée au niveau module pour imposer la déclaration explicite de toutes les variables de ce module.
Syntaxe
Option Explicit
Remarques
Si elle est utilisée, l'instruction Option Explicit doit apparaître dans un module avant toute procédure.
Si l'instruction Option Explicit apparaît dans un module, vous devez déclarer explicitement toutes les variables à l'aide des instructions Dim, Private, Public, ReDim ou Static. Si vous tentez d'utiliser un nom de variable non déclarée, une erreur se produit à la compilation.
Si vous n'utilisez pas l'instruction Option Explicit, toutes les variables non déclarées sont de type Variant à moins qu'un type par défaut soit précisé à un autre endroit à l'aide d'une instruction Deftype.
Note Utilisez l'instruction Option Explicit pour éviter toute faute de frappe lors de la saisie du nom d'une variable existante ou pour écarter tout risque de confusion dans un code où la portée de la variable n'apparaît pas clairement.

A+
 
- 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

Réponses
5
Affichages
910
Retour