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

Résolu
varin -  
 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.

9 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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
  2. varin
     
    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
  3. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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
  4. varin
     
    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
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Si ce n'est qu'une question d'espaces... un TRIM suffira
      While trim(ActiveCell.Text) = "</Placemark>"
      
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Varinb
     
    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
  7. Varin
     
    While ActiveCell.Text = "</Placemark>"
    0
  8. Varin
     
    While ActiveCell.Text = "</Placemark>" 
    0
  9. Varin
     
    Sub Essai()
    While ActiveCell.Text = "</Placemark>"
    Wend
    End Sub
    
    0
  10. Varin
     
    Comment noter en "résolue" cette question ?
    0