Saisie de date automatique

  • Initiateur de la discussion Initiateur de la discussion peresseromain
  • 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 !

P

peresseromain

Guest
Bonjour,

j'aimerais savoir si on peut saisir une date dans une textbox et quel aparaisse sur toutes les autres textbox de ma userform. A peu près 70 textbox.

Si vous avez une réponse svp 🙂

Merci d'avance

Cordialement
 
Re : Saisie de date automatique

bonjour peresseromain

A tester (adapter TextBox1) :

Code:
Private Sub TextBox1_AfterUpdate()
  For n = 0 To Me.Controls.Count - 1
    If InStr(Me.Controls(n).Name, "TextBox") <> 0 Then
      Controls(n).Value = TextBox1.Value
    End If
  Next n
End Sub
 
Re : Saisie de date automatique

RE,
Mes textbox son nommé "textbox3 à 141"

Es ce que je peux sélectionner celle que je veux? oui je voulais quel apparaisse sur toutes sans pensé que c'était fesable.
Vu que je n'y connais pas grand chose
Merci d'avance
 
Re : Saisie de date automatique

Re
mettre dans aservir tous le numeros des Textbox qui doivent recevoir la date (sans oublier la virgule)
Code:
Private Sub TextBox1_AfterUpdate()
aservir = "2,4,6,"
  For n = 0 To Me.Controls.Count - 1
  If InStr(Me.Controls(n).Name, "TextBox") <> 0 Then
    If InStr(aservir, Replace(Me.Controls(n).Name, "TextBox", "") & ",") <> 0 Then
      Controls(n).Value = TextBox1.Value
    End If
  End If
  Next n
End Sub
 
Re : Saisie de date automatique

Bonjour pierre jean,
Ta formule répond très bien a ce que je t'avais demander.
je t'en remercie.

Sauf que certaine textbox affiche la saisie automatique alors que je ne les est pas rentré dans la ligne aservie:

'Private Sub TextBox3_AfterUpdate()
aservir = "16,17,18,19,21,22,23,20,25,26,27,24,28,29,30,31,33,34,35,32,37,50,51,52,53,55,56,57,54,58,121,122,124,125,126,123,68,69,70,71,73,74,75,72,76,133,135,136,137,139,140,141,138,142,152,86,87,88,89,91,92,93,90,94,161,104,105,106,107,"
For n = 0 To Me.Controls.Count - 1
If InStr(Me.Controls(n).Name, "TextBox") <> 0 Then
If InStr(aservir, Replace(Me.Controls(n).Name, "TextBox", "") & ",") <> 0 Then
Controls(n).Value = TextBox3.Value
End If
End If
Next n
End Sub'
Il met comme même dans la textbox 1 par exemple.
Est ce normal ou c'est que j'ai fait une erreur.
Merci d'avance
Cordialement
Romain
 
Re : Saisie de date automatique

Bonjour peresseromain, pierrejean,

Ci-joint un autre type de boucle (ligne Case 16... à compléter) :

Code:
Private Sub TextBox3_AfterUpdate()
For Each ctl In Me.Controls
  If InStr(ctl.Name, "TextBox") > 0 Then
    Select Case Mid(ctl.Name, 8)
      Case 16 To 35, 37, 50 To 58, 68 To 76, 90 To 94, ....
        ctl.Value = Me.TextBox3.Value
    End Select
  End If
Next

End Sub

On peut remplacer le test du nom de contrôle (If Instr(ctl.Name....) par le test de son type (If ctl.TypeOf...) mais je ne me souviens jamais de la syntaxe exacte.

Espérant avoir aidé.

Cordialement.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
352
Réponses
9
Affichages
320
Réponses
9
Affichages
331
Réponses
16
Affichages
1 K
Retour