Boucle avec comparaison de cellules texte

Bonjour,

Je commence à travailler sur VBA et je cherche à mettre en place un compteur qui tant que la valeur dans la colonne est égale à la valeur dans ma cellule de référence continue à faire ligne = ligne +1

Mon seul problème c'est que les deux cellules que je veux comparer sont des chiffres au format texte.

Voici mon dernier essai de code, j'ai aussi essayé avec des .text et des range mais ça ne fonctionne pas.

Set Trav = Sheets("Trav macro") ligne = 2 ligneref = 2 Do While (Not Like(Trav.Cells(ligne, 4)) = Trav.Cells(ligneref, 4)) ligne = ligne + 1 Loop

C'est certainement très facile je passe peut être a coté de quelque chose. Si vous pouviez m'aider à comprendre mon erreur ce serait super gentil.

Merci d'avance =)

Bonjour,

Essaie avec :

Set Trav = worksheets("Trav macro")
ligne = 2
ligneref = 2
While Trav.Cells(ligne, 4) = Trav.Cells(ligneref, 4)
ligne = ligne + 1
Wend

ou

Set Trav = worksheets("Trav macro")
ligne = 2
ligneref = 2
While Trav.Cells(ligne, 4).text = Trav.Cells(ligneref, 4).text
ligne = ligne + 1
Wend

Bonjour DébuterVBA, bonjour le forum,

Peut-être comme ça :

Dim Trav As Worksheet
Dim Ligne as integer

Set Trav = Worksheets("Trav macro")
Ligne = 2
Do While Trav.Cells(ligne, 4) = Trav.Cells(2, 4))
    Ligne = Ligne + 1
Loop

Mais à la fin du code tu veux faire quoi ?!...

Bonjour DébuterVBA et bienvenue,

Utilises Cint si tes nombres sont entiers ou Cdbl si nombres réels afin de formater pendant la boucle tes chiffres texte.

Donc Cint(Trav.Cells(ligne, 4)) ou Cdbl(Trav.Cells(ligne, 4)) à gauche et de même à droite Cint(Trav.Cells(ligneref, 4)) ou Cdbl(Trav.Cells(ligneref, 4))

Bons tests, bonne continuation.

Merci pour vos réponses rapide.

L'idée c'est de pouvoir sélectionner les plages de données correspondantes dans une colonne à coté faire fonctionner le solveur et recommencer de manière successive.

Récupérer le résultat, le coller dans la feuille d'a coté et relancer la boucle. (cette partie copier coller je sais faire c'est le reste...)

Je suis certainement pas au bout de mes peines.

La première fois que j'ai voulu faire une macro j'ai copié collé des plages de données que j'ai pu remettre dans une autre feuille excel et les disposer autrement mais les plages étaient suivies de cellules vides c'était plus facile.

Re,

Utilises Cint si tes nombres sont entiers ou Cdbl si nombres réels afin de formater pendant la boucle tes chiffres texte.

Si les deux cellules à comparer sont en texte, les convertir ne va pas changer grand chose il me semble...

J'ai utilisé la version de Mycka et ça fonctionne merci beaucoup !

A nouveau,

@ThauThème,

Mon seul problème c'est que les deux cellules que je veux comparer sont des chiffres au format texte.

Apporte moi un exemple ou l'égalité entre des textes formatés en nombre et leurs conversion en nombre seraient différentes?

Re,

Non, non tu as bien raison si les valeurs sont égeles en texte, leur conversion en nombre sera, elle aussi égale. Mais dans ce cas, pourquoi donc les convertir ?!... Cela m'aurait semblé juducieux si l'un des deux était texte et l'autre chiffre mais sinon je ne vois pas l'intérêt...

Suite,

Mon seul problème c'est que les deux cellules que je veux comparer sont des chiffres au format texte

L'intérêt est pour DébuterVBA, puisque son problème sont des chiffres au format texte. Dans le cas d'une égalité, cela évidemment ne posera pas de souci. Texte ou Nombre se confondant. Et d'ailleurs les solutions proposées lui ont permis de résoudre son besoin. Je n'avais pas à rajouter une autre version.

Par contre dans le cas de comparaison inférieur ou supérieur selon ces deux formats, cela n'aura pas le même résultat.

Car en texte "24" est supérieur à "120000" alors qu'il ne l'est pas en nombre. Donc il faut faire attention dans la manipulation des nombres au format texte. C'est pour cela que je lui ai indiqué qu'il avait la possibilité de pouvoir convertir afin de pouvoir vérifier de cette façon son code.

Car comparer ne passe pas toujours par une égalité.

Re,

Toujours entièrement d'accord avec toi mais, dans son cas, il recherchait une égalité. Donc, je persiste et je signe il n'y avait pas besoin de convertir...

Bonjour ThauThème,

Le but de ma réponse n'était pas d'intervenir sur une comparaison égale. Cela avait été fait par les solutions proposées.

Le but était de signaler à un nouveau venu sur le problème de comparer des textes comportant des nombres. Désolé, si dans une réponse à un nouveau venu, j'anticipe sur ce point car cela permet de contrôler le code que l'on réalise avec des données chiffrées en format texte.

Donc mon intervention était faite pour cela.

Re,

Oui tu as raison. Ton intervention est judicieuse mais pas du tout exprimée comme un signalement ou une anticipation au départ...

suite,

En effet, seulement vu que je devais répondre à d'autres personnes sur le forum vu le nombre de notifications qui s'affichaient. Et vu que les solutions étaient déjà proposées. J'ai seulement donné cette précision à un nouveau venu, espérant qu'il puisse l'utiliser ensuite. Parfois on manque de temps et finalement aussi on peut revenir plus tard sur un sujet.

C'était plus pour répondre à sa difficulté de traiter les chiffres en texte qu'il avait exprimé. Au moins cela permet de proposer une autre manière de traiter la comparaison de cellules texte.

Re,

Oui c'est exact...

suite,

Donc au moins ton intervention a le mérite de m'avoir permis de faire un rappel. Sinon je l'aurais sans doute laissée tel quelle.

Rechercher des sujets similaires à "boucle comparaison texte"