Comparer une chaine de caractère dans msg Box avec cellule

Bonjour à tous,

Voici mon problème assez simplifié car faisant référence à une partie assez indépendante et isolée du reste de mon programme .

Mon programme tourne normalement jusqu’à afficher une msgBox délivrant le message : « boite 6, boite 1 Utilisées ».

Le début du programme est alors : MsgBox (boites_utilisées) , (boites_utilisées étant une variable qui a sélectionné les boites à prendre en compte donc ici la 6 et la 1. Par la suite le msgBox affiche le contenu de la variable donnant alors « boite 6, boite 1 Utilisées ».)

Dans la cellule A2, le texte « boite 6 » est présent et dans la cellule A3, le texte « boite 1 » est présent.

Mon souhait est que j’aimerai voir apparaitre le chiffre 2 dans la colonne « G », à la même ligne que les boites concernées. C’est dire qu’une fois arrivé à cette étape, le code regarde si le terme « boite 6 » de la cellule "A2" est présent dans la msgBox, et si oui il affiche un "2" sur la même ligne que "boite 6", soit la 2ème ligne mais à la colonne G.

De même, il regarde si le terme "boite 1" est présent dans la msgBox et affiche le chiffre "2" à la 3ème ligne et colonne "G".

Si l’un des termes n’est pas dans le msgBox, la cellule en G à la même ligne que le terme non présent dans la msgBox affiche un « non ».

Je galère depuis ce matin à le mettre sous code mais rien n’y fait impossible de trouver une manière pour moi de comparer le contenu de la MsgBox avec les termes dans la colonne A.

Toute idées et donc bonne à prendre pour moi afin de pouvoir y arriver

Je vous remercie pour l’attention portée à ma demande et vous souhaite à tous un bon week-end.

Cordialement

Bonjour JeGalèreEnVBA

Le souci, c'est que pour arriver à ce MsgBox, vous avez forcément un traitement qui est fait avant !

C'est là qu'il faudrait faire quelque chose, mais sans fichier cela risque d'être compliqué

A+

Bonjour...

sans fournir le code... c'est un peu embetant...

donc je suis parti du principe que le texte dans la msgbox était dispo dans une variable...

ci joint donc un essai

Sub test()
Txtmsgbox = " boite 6, boite 1 Utilisées"
' test cellule A2 et A3
For i = 2 To 3
If InStr(Txtmsgbox, Cells(i, "A")) > 0 Then Cells(i, "G") = 2
Next
End Sub

Fred

8jegalereenvba.xlsm (14.06 Ko)

Edit : Bonjour Bruno

Bonjour fred2406,

J'ai testé votre proposition dans les conditions de mon programme et ça fonctionne parfaitement. C'est exactement ce que je voulais obtenir, merci beaucoup pour votre aide.

Merci beaucoup et bon week end à vous.

Bonjour BrunoM45,

Merci d'avoir considéré ma demande et veuillez m'excuser pour ma proposition assez brute et exempt de tout fichier.

En vous souhaitant aussi un bon week-end

Cordialement

Rechercher des sujets similaires à "comparer chaine caractere msg box"