Textbox

Bonjour à tous,

Il y a plusieurs jours que je suis pris avec se problème et malgré mes recherches, je n'arrive toujours pas à le résoudre.

Voici, j'ai créé un outil de sélection avec des barres défilante qui sont rattachés à des cellules. Je veux maintenant écrire une macro qui inscrira dans un "MsgBox" ou "TextBox" la pièce correspondante à la sélection effectué. Il y aura beaucoup d'écriture a faire en VB, j'en suis conscient, mais cela ne me dérange pas. Toutefois si vous pourriez aussi m'indiquer quel "statement" je dois inscrire pour ajouter une autre valeur. voici mon exemple;

Sub TextBox()

If (A36 = 1) And (B36 = 1) And (C36 = 1) And (D36 = 1) And (E36 = 1) And (F36 = 1) And (G36 = 1) And (H36 = 1) And (J36 = 1) Then

TextBox.Text = "3RT20-1AB01"

End If

End Sub

Le message d'erreur que j'obtiens lorsque je compile est;

Erreur de compilation:

Fonction ou variable attendue

et TextBox est surligné: celui avant le .Text

Énorme merci de votre aide et bonne journée

Buddypaint

9test-forum.xlsm (24.49 Ko)

Bonjour et bienvenu(e)

A mon avis tu te lances dans une voie très compliquée

Un tableau (dans une page masquée - si besoin) reprenant tous les cas sera préférable à une quantité phénoménale de code

Mais c'est toi qui voit

A tester

Buddypaint a écrit :

Bonjour à tous,

Il y a plusieurs jours que je suis pris avec se problème et malgré mes recherches, je n'arrive toujours pas à le résoudre.

Voici, j'ai créé un outil de sélection avec des barres défilante qui sont rattachés à des cellules. Je veux maintenant écrire une macro qui inscrira dans un "MsgBox" ou "TextBox" la pièce correspondante à la sélection effectué. Il y aura beaucoup d'écriture a faire en VB, j'en suis conscient, mais cela ne me dérange pas. Toutefois si vous pourriez aussi m'indiquer quel "statement" je dois inscrire pour ajouter une autre valeur. voici mon exemple;

Sub TextBox()

If (A36 = 1) And (B36 = 1) And (C36 = 1) And (D36 = 1) And (E36 = 1) And (F36 = 1) And (G36 = 1) And (H36 = 1) And (J36 = 1) Then

TextBox.Text = "3RT20-1AB01"

End If

End Sub

Le message d'erreur que j'obtiens lorsque je compile est;

Erreur de compilation:

Fonction ou variable attendue

et TextBox est surligné: celui avant le .Text

Énorme merci de votre aide et bonne journée

Buddypaint

Sub TextBox()

If Sheets("Feuil1").Range("A36") = 1 And Sheets("Feuil1").Range("B36") = 1 And Sheets("Feuil1").Range("C36") = 1 And Sheets("Feuil1").Range("D36") = 1 And Sheets("Feuil1").Range("E36") = 1 And Sheets("Feuil1").Range("F36") = 1 And Sheets("Feuil1").Range("G36") = 1 And Sheets("Feuil1").Range("H36") = 1 And Sheets("Feuil1").Range("E36") = 1 And Sheets("Feuil1").Range("J36") = 1 Then
MsgBox "Message à afficher"
End If

End Sub

Bonsoir

voila comment afficher le message

ps il faut appeler les cellules ainsi :

Sheets("NOM DE LA FEUILLE").Range("NOM CELLULE") ce qui donne pour A36 : Sheets("Feuil1").Range("A36")

voila

[quote="Banzai64"]Bonjour et bienvenu(e)

A mon avis tu te lances dans une voie très compliquée

Un tableau (dans une page masquée - si besoin) reprenant tous les cas sera préférable à une quantité phénoménale de code

Mais c'est toi qui voit

A tester

Énorme Merci Banzai64, c'est exactement ce que je cherchais à faire toutefois j'obtiens une petite erreur. J'ai fait un léger changement à la programmation que tu m'as fait, voici:

Sub TextBox1_Cliquer()

If Range("A36") = 1 And Range("B36") = 1 And Range("C36") = 1 And Range("D36") = 1 And Range("E36") = 1 And _

Range("F36") = 1 And Range("G36") = 1 And Range("H36") = 1 And Range("I36") = 1 And Range("J36") = 1 Then

With Range("C13")

.Value = "3RT20-1AB01"

.Font.Size = 32

.TextAlign = fmTextAlignCenter

End With

or if

End If

End Sub

"J'ai changé le textbox pour une cellule tout simplement et maintenant voici qu'il surligne 'TextAlignCenter'

et j'ai rajouté or if pour mettre d'autre condition, mais il semblerait que je n'écrit pas la bonne chose. Ou peut-être je dois le mettre avant mon "or"??? je ne suis plus à 100% certain.

Un encore une fois énorme merci à ceux qui mon répondu et proposer des méthodes de fonctionnement, c'est apprécié.

Cordialement,

Buddypaint

Buddypaint a écrit :
Banzai64 a écrit :

Bonjour et bienvenu(e)

A mon avis tu te lances dans une voie très compliquée

Un tableau (dans une page masquée - si besoin) reprenant tous les cas sera préférable à une quantité phénoménale de code

Mais c'est toi qui voit

A tester

Énorme Merci Banzai64, c'est exactement ce que je cherchais à faire toutefois j'obtiens une petite erreur. J'ai fait un léger changement à la programmation que tu m'as fait, voici:

Sub TextBox1_Cliquer()

If Range("A36") = 1 And Range("B36") = 1 And Range("C36") = 1 And Range("D36") = 1 And Range("E36") = 1 And _

Range("F36") = 1 And Range("G36") = 1 And Range("H36") = 1 And Range("I36") = 1 And Range("J36") = 1 Then

With Range("C13")

.Value = "3RT20-1AB01"

.Font.Size = 32

.TextAlign = fmTextAlignCenter

End With

or if

End If

End Sub

"J'ai changé le textbox pour une cellule tout simplement et maintenant voici qu'il surligne 'TextAlignCenter'

et j'ai rajouté or if pour mettre d'autre condition, mais il semblerait que je n'écrit pas la bonne chose. Ou peut-être je dois le mettre avant mon "or"??? je ne suis plus à 100% certain.

Un encore une fois énorme merci à ceux qui mon répondu et proposer des méthodes de fonctionnement, c'est apprécié.

Cordialement,

Buddypaint

rebonsoir

mets ceci à la place

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

ps: tu peux refaire des if à la suite

ex

sub
if ... then
end if

if..  then

end if

if ... then 
else
end if

if ... and ... then
end if

if ... or ... then
end if

end sub

A toi de voir et conceptualiser si tu dois faire un contrôle sur plusieurs points avec des or ou and ou si tu peux intercepter avec un autre if en bas

end sub


Buddypaint a écrit :
Banzai64 a écrit :

Bonjour et bienvenu(e)

A mon avis tu te lances dans une voie très compliquée

Un tableau (dans une page masquée - si besoin) reprenant tous les cas sera préférable à une quantité phénoménale de code

Mais c'est toi qui voit

A tester

Énorme Merci Banzai64, c'est exactement ce que je cherchais à faire toutefois j'obtiens une petite erreur. J'ai fait un léger changement à la programmation que tu m'as fait, voici:

Sub TextBox1_Cliquer()

If Range("A36") = 1 And Range("B36") = 1 And Range("C36") = 1 And Range("D36") = 1 And Range("E36") = 1 And _

Range("F36") = 1 And Range("G36") = 1 And Range("H36") = 1 And Range("I36") = 1 And Range("J36") = 1 Then

With Range("C13")

.Value = "3RT20-1AB01"

.Font.Size = 32

.TextAlign = fmTextAlignCenter

End With

or if

End If

End Sub

"J'ai changé le textbox pour une cellule tout simplement et maintenant voici qu'il surligne 'TextAlignCenter'

et j'ai rajouté or if pour mettre d'autre condition, mais il semblerait que je n'écrit pas la bonne chose. Ou peut-être je dois le mettre avant mon "or"??? je ne suis plus à 100% certain.

Un encore une fois énorme merci à ceux qui mon répondu et proposer des méthodes de fonctionnement, c'est apprécié.

Cordialement,

Buddypaint

Ne prends pas mal ce que je vais te dire mais tu postes un peu facilement.

Perds du temps, casse toi la tête c'est bénéfique, tu verras que en cherchant quelque chose tu découvriras autre chose.

Autre astuce: passe par l'enregistreur de macro pour essayer de voir comment sont utilisés les arguments etc ...

Mais on est la pour aider pas de problème mais il faut chercher un peu

ÉNORME MERCI!!! Le tout fonctionne exactement comme je le voulais : D

Rechercher des sujets similaires à "textbox"