Remplissage des TextBox automatiquement après impression [Résolu]

Bzik59 32 Messages postés vendredi 31 juillet 2015Date d'inscription 16 septembre 2018 Dernière intervention - 28 août 2015 à 09:01 - Dernière réponse : Bzik59 32 Messages postés vendredi 31 juillet 2015Date d'inscription 16 septembre 2018 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

15 réponses

pijaku 12204 Messages postés jeudi 15 mai 2008Date d'inscriptionModérateurStatut 13 septembre 2017 Dernière intervention - 28 août 2015 à 10:30
0
Merci
Bonjour,

Quels sont les éventuels codes que vous avez tenté pour résoudre ce problème?
Commenter la réponse de pijaku
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 28 août 2015 à 10:48
0
Merci
Bonjour,
S'intéresser à Select Case et/ou à If ... Elseif....
(C'est un minimum à connaître)
Commenter la réponse de ucfoutu
Bzik59 32 Messages postés vendredi 31 juillet 2015Date d'inscription 16 septembre 2018 Dernière intervention - Modifié par Bzik59 le 29/08/2015 à 20:56
0
Merci
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
Commenter la réponse de Bzik59
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - Modifié par ucfoutu le 30/08/2015 à 00:14
0
Merci
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.
Bzik59 32 Messages postés vendredi 31 juillet 2015Date d'inscription 16 septembre 2018 Dernière intervention - 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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention > Bzik59 32 Messages postés vendredi 31 juillet 2015Date d'inscription 16 septembre 2018 Dernière intervention - 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é ...
Bzik59 32 Messages postés vendredi 31 juillet 2015Date d'inscription 16 septembre 2018 Dernière intervention > ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 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
Bzik59 32 Messages postés vendredi 31 juillet 2015Date d'inscription 16 septembre 2018 Dernière intervention - 30 août 2015 à 08:57
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.
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - Modifié par ucfoutu le 30/08/2015 à 10:05
0
Merci
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.
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 30 août 2015 à 09:17
0
Merci
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

Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 30 août 2015 à 09:24
0
Merci
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.

Bzik59 32 Messages postés vendredi 31 juillet 2015Date d'inscription 16 septembre 2018 Dernière intervention - 30 août 2015 à 15:25
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.
Commenter la réponse de ucfoutu
Bzik59 32 Messages postés vendredi 31 juillet 2015Date d'inscription 16 septembre 2018 Dernière intervention - Modifié par Bzik59 le 30/08/2015 à 19:22
0
Merci
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
Commenter la réponse de Bzik59
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 30 août 2015 à 21:18
0
Merci
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.
Bzik59 32 Messages postés vendredi 31 juillet 2015Date d'inscription 16 septembre 2018 Dernière intervention - 30 août 2015 à 22:12
OK merci
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.