Remplissage des TextBox automatiquement après impression

Résolu
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018 - Modifié par Bzik59 le 28/08/2015 à 09:06
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018 - 30 août 2015 à 22:12
Bonjour,
J'ai 6 textBoxt nommée respectivement 1, 2, 3, 4, 5,et 6
dans un Userform1 pour un classeur qui contient une seule feuille excel nommée "Paiement".
Merci de bien vouloir m'aider pour avoir un code avec VBA, En utilisant BeforePrint mettre la date d'aujourd'hui dans le textBoxt vide . C'est à dire.
-Si TextBoxt1= "" then TextBox1= Date ,
-Si TextBoxt1 <> "" then TextBox2= Date
-Si TextBoxt1 <> "" And TextBox2 <> "" then
TextBox3= Date - Etc .
Le problème c'est que avec ce code, tous les TextBox vides donnent la date d'aujourd'hui au même temps.
Je veux si le TextBox suivant est vide alors il prend la date d'aujourd'hui et le sub arrête en gardant le contenu des autres TextBox précédents intact..
Merci pour votre aide.

9 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 14
28 août 2015 à 10:30
Bonjour,

Quels sont les éventuels codes que vous avez tenté pour résoudre ce problème?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 août 2015 à 10:48
Bonjour,
S'intéresser à Select Case et/ou à If ... Elseif....
(C'est un minimum à connaître)
0
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018
Modifié par Bzik59 le 29/08/2015 à 20:56
Le code que j'ai utilisé et ne marche pas:

If TextBoxt1= "" then
TextBox1= Date
End If
If TextBoxt1 <> "" And TextBox2=""then
TextBox2= Date
End If
If TextBoxt1 <> "" And TextBox2 <> "" And TextBox3="" then
TextBox3= Date
End If
Etc

Est ce que vous avez des suggestions? Merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 30/08/2015 à 00:14
ta 1ere expression conditionnelle fait que si textbox1 = "", textbox1 = date et que donc textbox1 devient forcément <> "".
Idem ensuite avec textbox2. Et donc : ta 3ème condition est toujours vérifiée. C'est tellement évident (y compris hors informatique !).
Je ne sais pas si j'ai vraiment compris ce que tu cherches à faire exactement. La dernière phrase de ton 1er message devient peu claire lorsque l'on compare à ce que tu sembles par ailleurs chercher à réaliser (ton code).
A tout hasard (mais je m'interroge vraiment) : Exit sub fait sortir de la procédure
Et je te rappelle également ce que je t'ai dit dans ma 1ère réponse (elseif)


________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018
30 août 2015 à 00:23
Je te remercie pour ton soutien.
Peux tu me proposer un code facile pour résoudre ce problème. Merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211 > Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018
30 août 2015 à 00:52
Je le peux, mais ne le veux pas.
Du moins : tant que tu n'auras pas fait l'effort de tenter sur les bases que je t'ai indiquées.
C'est vraiment trop trop trop élémentaire. Un peu comme si tu allais sur un site de médecins pour y demander ce qu'est la tension artérielle ...
Il va falloir que tu t'y mettes, désolé ...
0
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018 > ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018
30 août 2015 à 01:01
Jai bien compris ce que vous voulez me transmettre. Montrer à quelqu'un comment pêcher un poisson vaut beaucoup mieux que lui offrir un poisson.
Je vais chercher comment résoudre le problème et je vous tiendrai au courant. Merci
0
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018
Modifié par Bzik59 le 30/08/2015 à 09:03
Bonjour ucfoutu.
Voilà ce que j'ai trouvé:

If TextBox1="" Then
TextBx1= Date
Elseif TextBox1 <>"" And TextBox2="" Then
TextBox2= Date
Else TextBox3= Date
End If
Mais le problème c'est que: les 2 premiers TextBox se remplissent au même temps, et j'ai 6 TextBox à remplir avec la même condition.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 30/08/2015 à 10:05
Elseif veut dire sinon si et donc si la 1ère condition n'est pas vérifiée, elle n'a pas a être reprise pour la seconde ! ===>>
If textbox1.value = "" then
textbox1.value = Date
Elseif textbox2.value = "" then
textbox2.value = date
Elseif
etc ...

Edit : prends l'habitude de toujours préciser la propriété, même si VBA est tolérant et comprend que textbox1 veut dire textbox1.value
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 août 2015 à 09:17
Que tu pourrais d'ailleurs écrire autrement (et je vois sur CCM que tu sais ce qu'est Controls ===>> exemple avec 3 textbox ===>>
For i = 1 to 3
if controls("TextBox" & i).value = "" then
controls("TextBox" & i).value = date
exit for
end if
next

0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 août 2015 à 09:24
Que tu pourrais encore écrire autrement ===>> exemple
toto = Array(TextBox1, TextBox2, TextBox3)
For i = 0 To UBound(toto)
If toto(i).Value = "" Then
toto(i).Value = Date
Exit For
End If
Next


il y a une multitude de possibilités, comme tu le vois.
Ce n'est là qu'une question de connaissance des rudiments et de logique.

0
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018
Modifié par Bzik59 le 30/08/2015 à 15:26
Je te remercie beaucoup ucfoutu. Je ne suis que débutant en VBA. Sincèrement j'ai commencé à apprendre des notions en VBA grâce à vous. J'ai testé votre code c'est impeccable. J'ai reçu le code avec des explications, c'est une faveur de votre part. Merci encore.
0
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018
Modifié par Bzik59 le 30/08/2015 à 19:22
Bonjour,
j'ai des TextBox qui se remplissent automatiquement avant impression grâce à un code dans BeforePrint. Y a t il une solution pour enregistrer les valeurs de ces TextBox dans la feuille Active Excel correspodante automatiquement après impression . Càd sans cliquer sur le bouton enregistrer que j'ai crée dans l'UserForm.
J'ai utilisé le code
thisworkbook.Save, dans beforePrint mais ça marche pas.
Est ce vous avez des suggestions? Merci à vous
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 août 2015 à 21:18
Tu as ouvert une autre discussion à ce sujet. Et tu y as eu une réponse.
- Ne mélange pas tout.
- si la difficulté objet de la présente discussion est résolue, il t'appartient de libérer cette discussion (un clic sur le tag RESOLU au niveau de ton 1er message dans cette discussion). Merci d'y penser.
0
Bzik59 Messages postés 32 Date d'inscription vendredi 31 juillet 2015 Statut Membre Dernière intervention 16 septembre 2018
30 août 2015 à 22:12
OK merci
0
Rejoignez-nous