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
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 SubBonsoir
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 subA 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
ÉNORME MERCI!!! Le tout fonctionne exactement comme je le voulais : D