Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[Résolu] Modification du code avec For Next

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Lone-wolf

XLDnaute Barbatruc
Rebonjour le Forum,

Suite à mon précédent post concernant les formes et codes-barres. J'ai modifié à nouveau le classeur en y mettant des TextBox's.


Post > modifier-le-texte-des-shapes-apres-selection-dans-liste-deroulante


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Codes-Barres").tb1.Text = [K2]
Sheets("Codes-Barres").tb2.Text = [K2]
Sheets("Codes-Barres").tb3.Text = [K2]
Sheets("Codes-Barres").tb4.Text = [K2]
Sheets("Codes-Barres").tb5.Text = [K2]
Sheets("Codes-Barres").tb6.Text = [K2]
Sheets("Codes-Barres").tb7.Text = [K2]
Sheets("Codes-Barres").tb8.Text = [K2]
Sheets("Codes-Barres").tb9.Text = [K2]
Sheets("Codes-Barres").tb10.Text = [K2]
Sheets("Codes-Barres").tb11.Text = [K2]
Sheets("Codes-Barres").tb12.Text = [K2]
Sheets("Codes-Barres").tb13.Text = [K2]
Sheets("Codes-Barres").tb14.Text = [K2]
Sheets("Codes-Barres").tb15.Text = [K2]
Sheets("Codes-Barres").tb16.Text = [K2]

Sheets("Codes-Barres").tb17.Text = [K3]
Sheets("Codes-Barres").tb18.Text = [K3]
Sheets("Codes-Barres").tb19.Text = [K3]
Sheets("Codes-Barres").tb20.Text = [K3]
Sheets("Codes-Barres").tb21.Text = [K3]
Sheets("Codes-Barres").tb22.Text = [K3]
Sheets("Codes-Barres").tb23.Text = [K3]
Sheets("Codes-Barres").tb24.Text = [K3]
Sheets("Codes-Barres").tb25.Text = [K3]
Sheets("Codes-Barres").tb26.Text = [K3]
Sheets("Codes-Barres").tb27.Text = [K3]
Sheets("Codes-Barres").tb28.Text = [K3]
Sheets("Codes-Barres").tb29.Text = [K3]
Sheets("Codes-Barres").tb30.Text = [K3]
Sheets("Codes-Barres").tb31.Text = [K3]
Sheets("Codes-Barres").tb32.Text = [K3]
End Sub


Je n'arrive pas à coder en ajoutant une variable sur " Sheets("Codes-Barres").tb1.Text "

img = Sheets("Codes-Barres").tb1.Text

Par ex.:

For x = 1 To 16

img = [K2]

Next x

Un petit coup de main s.v.p. 😱


A+ 😎
 

Pièces jointes

Dernière édition:
Re : Modification du code avec For Next

Bonjour Lone le forum
bon alors aucune explications dans le fichier donc???
pour ce que tu demandes
a+
Papou😱

PHP:
For x = 1 To 16
if x>=1 and x<=16 then img = [K2]
Next x
 
Re : Modification du code avec For Next

Re Lone le forum
je n'ai fait que répondre à comment faire la boucle , l'égalité c'est toi qui l'avait écrite alors comme tu n'expliques rien et que je n'ai pas de boule de cristal , j'ai répondu par rapport à ta demande.
a+
papou😱
 
Re : Modification du code avec For Next

Bonjour Lone,Paritec,

Code:
Dim Obj As OLEObject


    For Each Obj In ActiveSheet.OLEObjects
       
        If TypeOf Obj.Object Is MSForms.TextBox Then _
       If Len(Obj.Name) = 3 Then If Right(Obj.Name, 1) < 17 Then Obj.Object = [B2]
       If Len(Obj.Name) = 4 Then If Right(Obj.Name, 2) > 16 Then Obj.Object = [B3]
   Next Obj
A tester.
A bientôt.
 
Re : Modification du code avec For Next

Ce n'était qu'un exemple.

J'aimerais donné une variante à ces lignes: Sheets("Codes-Barres").tb1 à Sheets("Codes-Barres").tb32

Ensuite:

For x = 1 To 16
nom de la variante.Text = [K2]
Next x

For x = 17 to 32
nom de la variante.Text = [K3]
Next x

Je ne sais pas si c'est plus parlant.

J'ai fait un test en écrivant comme ça, c'est plus court mais fonctionne aussi:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

tb1.Text =[K2] jusqu'à tb16

tb17.Text = [K3] jusqu'à tb32

End Sub


A+ 😎
 
Re : Modification du code avec For Next

Bonjourà tous

Si j'ai bien compris (et je suis parti sur la même piste que fhoest)
Code:
Sub TestTBX()
Dim Obj As OLEObject
For Each Obj In ActiveSheet.OLEObjects
        If TypeOf Obj.Object Is MSForms.TextBox Then
        With Obj
            Select Case .Index
            Case 1 To 16: .Object.Value = [k2].Text
            Case 17 To 32: .Object.Value = [k3].Text
            End Select
        End With
        End If
    Next Obj
End Sub

Devrai fonctionner si seuls sont présent des TextBox
(C'est dans cette configuration que j'ai testé et cela fonctionne )
 
Dernière édition:
Re : Modification du code avec For Next

Bonjour fhoest, Stapple.

@fhoest: malheureusement il affiche le texte de la celulle G1 dans certaines textbox's et rien dans les autres.

@Stapple: avec With, il affiche [K2] dans tb1 tb17 tb2 tb18 etc; de même pour [K3] dans tb9 tb25 tb10 tb 26 etc.

Mais les TextBox's vont de 1 à 16 TB gauches et de 17 à 32 sont celles de droites.



A+ 😎
 
Dernière édition:
Re : Modification du code avec For Next

Re

Cela marche chez moi si (comme précédemment précisé...)
TextBox1.Index=1
TextBox2.Index=2
...
TextBox32.Index=32


'avec comme valeurs en K2 Lone et en K3 Wolf
 
Dernière édition:
Re : Modification du code avec For Next

Bonjour à tous,

peut être une autre approche ainsi, à tester :
Code:
Dim i As Byte
With Sheets("Codes-Barres")
    For i = 1 To 16
        .OLEObjects("tb" & i).Object.Value = Range("K2")
        .OLEObjects("tb" & i + 16).Object.Value = Range("K3")
    Next i
End With

bon après midi
@+
 
Re : Modification du code avec For Next

Bonjour Pierrot,

mon Maître, mon sauveur, mon tigre préféré 😀😀😀
(Hum...Hum... lèche-cul vas! 😡 😛)

Le code donne le résultat attendu. Merci infiniment.


Amicalement

L-w


A+ 😎
 
Dernière édition:
Re : [Résolu] Modification du code avec For Next

Bonsoir à tous

Juste pour le plaisir du fun ou le fun du plaisir
(Merci à Pierrot93 pour m'avoir inspiré 😉 )

Code:
Dim i As Byte
With Sheets("Codes-Barres")
    For i = 1 To 32
        .OLEObjects("tb" & i).Object.Value = [K2].Offset(1+(i/16<=1))
    Next i
End With

EDITION: Exact , Lone-Wolf, mais c'est parce que j'affectionne particulièrement le 17.
PS: Je ne sais si code est très bien ou pas, c'est comme je le disais le fun du plaisir qui me fit le poster.
 
Dernière édition:
Re : [Résolu] Modification du code avec For Next

Bonjour Stapple,

Le code est très bien aussi, mais il faut mettre 16 au lieu de 17;
le code-barres en colonne A affiche le même numéro.

Merci infiniment.

Amicalement
Ln-wf


A+ 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…