Variable sur TextBox

  • Initiateur de la discussion Initiateur de la discussion Startus
  • Date de début Date de début

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 !

Startus

XLDnaute Occasionnel
Bonsoir à tous ...

Par soucis de raccoucir mes code j'aimerai modifier une chose dans code, mais jusqu'ici sans succès:

Code:
Private Sub UserForm_Initialize()
' Initialise la boite
TextBox1 = Format(ActiveCell.Offset(0, 0), 'dd/mm')
TextBox2 = ActiveCell.Offset(0, 1)
TextBox3 = ActiveCell.Offset(0, 2)
TextBox4 = ActiveCell.Offset(0, 3)
TextBox5 = ActiveCell.Offset(0, 4)
End Sub

Je le modifie comme cela :

Code:
Private Sub UserForm_Initialize()
' Initialise la boite
TextBox1 = Format(ActiveCell.Offset(0, 0), 'dd/mm')
For i = 2 To 5
textbox & i =ActiveCell.Offset(0,i+1)
Next i
End Sub

Je ne sais pourquoi, je n'arrive pas a affecter une variable a une TextBox ???
 
Bonsoir Startus 🙂

Tu peux essayer ainsi :

Private Sub UserForm_Initialize()
'
Dim i As Byte
'
  ' Initialise les boîtes
  With ActiveCell
    For i = 1 To 5
      IIf(i > 1, Me.Controls('TextBox' & i) =.Offset(0, i + 1), _
          TextBox1 = Format(.Offset(0, 0), 'dd/mm'))
    Next i
  End With
End Sub

Tiens-nous au courant.

A+ 😉

Message édité par: Charly2, à: 16/03/2006 01:49
 
Bonjour Startus, Bonjour Charly

Une petite remarque : selon la première version de Startus, il me semble qu'il faut écrire :
Offset(0, i - 1) et non pas Offset(0 , i + 1)

Cela dit en passant est ce que cette fois ci ça marchera ... ?

Bonne journée à tous les deux
 
Bonjour Startus, mon ami Jacques, bonjour à toutes et à tous 🙂

Merci Jacques, je n'avais pas vu ce détail important. Espérons que cela suffise à régler le problème de Startus 😉

Au plaisir de te rencontrer au hasard d'un fil.

A+ 😉
 
Salut tout le monde,

Avant tout, merci pour votre aide...
Effectivement, il faut bien ecrire :

Offset(0, i - 1)

Mais le soucis majeur, est que VBE ne reconnait pas la syntaxe du code que Charly à écrit, ni la mienne par ailleurs...
La ligne s'insrit en rouge ???

Merci
 
re Startus et Jacques, bonjour à toutes et à tous 🙂

Ouh la la !!! Quelle bourde !!! IIf est une fonction et donc retourne une valeur, comme c'est une fonction l'affectation doit être du genre :

Variable = IIf(Condition, SiVrai, SiFaux)

Il faut corriger cette ENORME erreur de programmation (j'ai honte :sick: ) :

Me.Controls('TextBox' & i) = IIf(i > 1, .Offset(0, i - 1), Format(.Offset(0, 0), 'dd/mm'))

Désolé Startus
:whistle:

A+ 😉
 
Bonsoir tout le monde,

Réponse tardive, mais boulot oblige...

Après avoir modifié le code comme ceci :
Code:
Private Sub UserForm_Initialize()
' Initialise la boite
For i = 1 To 5
With ActiveCell
Me.Controls('TextBox' & i) = IIf(i > 1, .Offset(0, i - 1), Format(.Offset(0, 0), 'dd/mm'))
Next i
End With
End Sub

Lorsque je teste une boite s'affiche :
Erreur de Compilation Next sans For

Moi qui croyait, raccoucir le code ,c'est un vrai casse tête...
 
Bonsoir Startus, bonsoir à toutes et à tous 🙂

Alors là, c'est pô moi qu'ai fait l'erreur 😛 . Non, c'est vraiment pas grand chose : tu intervertis le Next i et le End With et tout rentrera dans l'ordre...

A+ 😉
 
wah, quel monde à cette heure!! 😉

allez une petite histoire pour réveiller les belges du forum (y en a!)

Ce sont deux belges à la chasse, ils voient passer un deltaplane. Le premier belge épaule et tire :
le deuxième belge- Bah tu l'as raté !!
le premier belge- Oui mais il a lâché sa proie.

une autre (en forme moi ce soir !)

Un jeune gars dit à un autre dans le train:
- Oh tiens, je vais te raconter une super histoire belge...
L'autre:
- Ah mais ça ne va pas dis, JE suis belge!
-C'est pas grave, répond le premier, je te la raconterai deux fois
 
Merci à Tous

Après avoir inversé With ActiveCell, Tout est rentré dans l'ordre

Encore Merci

Ce fut un bon exercice pour moi que me permet de m'améliorer en programmation...

En VBA je m'initie, j'ai acheté comme référence le livre de John Walkenbach 'VBA pour Excel 2003'

Qu'en pensé-vous ?
 
- 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

Discussions similaires

Réponses
5
Affichages
272
Réponses
10
Affichages
292
Réponses
41
Affichages
717
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
519
Retour