Signaler

Tant que la valeur de la cellule active = "texte" [Résolu]

Posez votre question varin - Dernière réponse le 3 nov. 2017 à 16:35 par Varin
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.
Utile
+0
plus moins
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 : http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Donnez votre avis
Utile
+0
plus moins
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
Donnez votre avis
Utile
+0
plus moins
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...
Donnez votre avis
Utile
+0
plus moins
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
jordane45 18911Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 21 novembre 2017 Dernière intervention - 2 nov. 2017 à 19:07
Si ce n'est qu'une question d'espaces... un TRIM suffira
While trim(ActiveCell.Text) = "</Placemark>"
Répondre
jordane45 18911Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 21 novembre 2017 Dernière intervention - 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 : http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Répondre
Donnez votre avis
Utile
+0
plus moins
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>*"
Donnez votre avis
Utile
+0
plus moins
While ActiveCell.Text = "</Placemark>"
Donnez votre avis
Utile
+0
plus moins
While ActiveCell.Text = "</Placemark>" 
Donnez votre avis
Utile
+0
plus moins
Sub Essai()
While ActiveCell.Text = "</Placemark>"
Wend
End Sub
Donnez votre avis
Utile
+0
plus moins
Comment noter en "résolue" cette question ?
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !