[déplacé VB6 -> VBA] comparaison sur un if

jdpiaget Messages postés 3 Date d'inscription lundi 3 août 2009 Statut Membre Dernière intervention 26 août 2009 - 26 août 2009 à 11:15
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 26 août 2009 à 20:07
Bonjour,
Voila : sur powerpoint je crée une forme de nom : A, puis dans une zone texte j'écris A.
ensuite sous VBA

Public Sub essai(shpselect As Shape)
MsgBox shpselect.TextFrame.TextRange.Text
End Sub

cela me renvoi bien A
et

Public Sub commandButon1_click(shpselect As Shape)
If shpselect.Name = "A" Then
MsgBox "coucou"
Else
MsgBox "dommage"
End If
End Sub

cela fonctionne bien.

en revanche

Public Sub commandButon1_click(shpselect As Shape)
[color=red]If shpselect.Name = ZoneTexte41.TextFrame.TextRange.Text Then
MsgBox "coucou"
Else
MsgBox "dommage"
End If
End Sub/color

Cela ne fonctionne pas du tout.

Merci de votre aide précieuse !!!



JD

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 août 2009 à 11:23
pourquoi utiliser ZoneTexte41 et pas shpSelect ?

a voir si ta zone de texte contient bien "A" (et pas "A " par exemple)

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
jdpiaget Messages postés 3 Date d'inscription lundi 3 août 2009 Statut Membre Dernière intervention 26 août 2009
26 août 2009 à 16:12
Super rapide... merci.

Tout d'abord, ce n'est pas "A " ou une autre orthographe car sinon le else fonctionnerait, or ce n'est même pas le cas. Ni le if, ni le else...
(peut être un problème de déclaration ??????)

Ensuite j'ai deja un shpselect (une forme qui a le nom A), que je veux comparer avec le texte d'une zone texte(ZoneTexte41).

Merci encore de votre intéret.
JD
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 août 2009 à 17:13
ca "fonctionne" pas, mais ca veux dire quoi, alors ?

as tu activé l'option explicit ?
est-ce que tu as une gestion d'erreur qui te fais sauter ce pan de code?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
jdpiaget Messages postés 3 Date d'inscription lundi 3 août 2009 Statut Membre Dernière intervention 26 août 2009
26 août 2009 à 19:14
oulala !! c'est compliqué pour moi. je ne trouve pas l'option explicit. mais en rajoutant une macro sur le champ texte cela s'execute.

Voila tout le code que j'ai tapé :

Public Sub commandButon1_click(shpselect As Shape)
If shpselect.Name = zonetexte5.TextFrame.TextRange.Text Then
MsgBox "coucou"
Else
MsgBox "dommage"
End If
End Sub

Public Sub essai(shpselect As Shape)
MsgBox shpselect.TextFrame.TextRange.Text
End Sub

ensuite sous powerpoint :
- j'ai deux rectangles appelés A et B affecté de la macro "commandButon1_click" chacun.
- j'ai un champ texte avec A à l'intérieur affecte de la macro essai.

la compilation ne me donne pas d'erreur.

Si je lance le ppt :
- en cliquant sur les formes A et B rien ne se passe,
- en cliquant sur la lettre A,le msgbox me renvoi "A"

dommage que je ne puisse pas joindre le fichier...
Ca doit être un truc tout bete en plus...
merci encore

JD
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 août 2009 à 20:07
tentes des choses simples :

MsgBox shpselect.TextFrame.TextRange.Text = "A"

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
Rejoignez-nous