Tant que la valeur de la cellule active = "texte"

Résolu/Fermé
varin - 2 nov. 2017 à 18:31
 Varin - 3 nov. 2017 à 16:35
Bonjour,

Je cherche à réaliser une action tant que la valeur de la Cellule Active est égale au texte "</Placemark>"

Avec ce code cela ne fonctionne pas.

While ActiveCell.Text = "</Placemark>"
action à réaliser
Wend


Si quelqu'un peut m'aider je vous en remercie d'avance.

9 réponses

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
2 nov. 2017 à 18:43
Bonjour,

1 - La cellule ne contient QUE "</Placemark>" ou il y autre chose autour ?
2 - Tu déclenches ta macro comment ?
3 - Tu l'as mise où ? dans une sub ??

NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

0
Bonjour,

1 - La cellule ne contient QUE "</Placemark>" ou il y autre chose autour ?
Il n'y a que </Placemark>

2 - Tu déclenches ta macro comment ?
Par la touche F8

3 - Tu l'as mise où ? dans une sub ??
Elle est dans une Sub

Merci
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
2 nov. 2017 à 18:53
Dans ce cas... ça devrait fonctionner....
Quand tu dis que ça ne marche pas.. c'est à dire??

N'aurais tu pas oublié un DoEvents ?

Tu peux essayer ceci et nous dire ce que ça donne ?



Sub test()
Dim i As Integer
i = 1
While ActiveCell.Text = "</Placemark>"
 Debug.Print " ok : " & i
 i = i + 1
 DoEvents
Wend


End Sub


Par contre ... attention ... ça risque de faire une boucle sans fin...
0
Après vérification la cellule contient </Placemark> puis des espaces (la valeur provient d'un autre programme).

Il me faudrait transformer
While ActiveCell.Text = "</Placemark>" 


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45


non plus avec la valeur exacte mais tant que la valeur "</Placemark>" est contenue dans la cellule Active.
---------

Merci
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
2 nov. 2017 à 19:07
Si ce n'est qu'une question d'espaces... un TRIM suffira
While trim(ActiveCell.Text) = "</Placemark>"
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649 > jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024
2 nov. 2017 à 19:09
Et puis sinon tu peux faire du LIKE
While Trim(ActiveCell.Text) Like "*</Placemark>*"


Et pour la dernière fois ......
Pour poster du code sur le forum.. IL FAUT 'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0

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

Posez votre question
Bonjour,

Grand merci, la deuxième ligne de code est parfaite.

Par contre pour l'utilisation de la coloration syntaxique (les balises de code), je n'y parviens pas. Comment Indenté ?

Ex :
While Trim(ActiveCell.Text) Like "*</Placemark>*"
0
While ActiveCell.Text = "</Placemark>"

                
0
While ActiveCell.Text = "</Placemark>" 
0
Sub Essai()
While ActiveCell.Text = "</Placemark>"
Wend
End Sub
0
Comment noter en "résolue" cette question ?
0