Microsoft 365 Code VBA pour un Formulaire

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

Philippe17

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous,

Je voudrais de l'aide svp,
j'ai créé un formulaire pour créer des lignes automatiquement dans mon fichier « Journal », pour la saisie des opérations, j'ai trois TextBox ! le premier « Date « le second » Libellé « le troisième “Montant”, je voudrais obliger et forcer la Date en Date et le Montant en euro avec décimal, et automatisé, la sortie correctement pour s'inscrire dans ma feuille Journal ! pouvez-vous m'aider ? Merci pour vos réponses

Philippe 😇
 

Pièces jointes

Bonsoir fanfan38, merci pour votre accueil,
Super pour le code qui fonctionne à merveille, je détaillerai pour bien comprendre, je voudrais savoir s'il est possible de rentrer une date style « 080324 » et qu’elle ressorte « 08/03/2024 » automatiquement dans le Journal ?
Merci pour votre aide

Philippe 😇
 
Bonjour François,
Merci pour ton aide, précieuse, c'est génial et j'apprends beaucoup avec ton aide, j'aurais encore une question, comment obliger à remplir tout le formulaire quand on appuie sur enregistrer ? voir le rendre grisonnant lorsque tout n'est pas rempli ?
Philippe 😇
 
Bonjour
1° apprenez "a travailler avec des tableaux structurés
2° oubliez les unload et reshow (fait plutôt un nettoyage des textboxs)
3° le calendrier s'affiche une 2d fois quand je selection un jour pourquoi?
perso je sais pourquoi mais vous le savez vous ?
VB:
Private Sub btnEnregistrement_Click()
  Dim criter As Boolean
  criter = txtDate <> "" And txtLibellé <> "" And txtMontant <> ""
  If Not criter Then MsgBox "il faut remplir les 3 inputs Merci": Exit Sub
 
  If Not IsDate(Me.txtDate) Then MsgBox ("Veuillez saisir une date"): Exit Sub
  If Not IsNumeric(Me.txtMontant) Then MsgBox ("Le montant doit être un chiffre"): Exit Sub
 
  With Range("T_journal").ListObject.ListRows.Add.Range
  .Cells(1) = CDate(Me.txtDate.Value)
  .Cells(2) = Me.txtLibellé.Value
  .Cells(3) = CDbl(Me.txtMontant.Value)
  End With
 
  txtDate = "": txtLibellé = "": txtMontant = ""
End Sub
Bonne journée 😉
 
Bonjour Patrick,
Merci pour votre aide et vos commentaires, pour le travail des tableaux structuré, je suis travail dessus, mais pas sur les fichiers que l'on envoie rectifier, mais je vais m'y pencher un peu plus et voir comment il faudrait exactement faire, je prends note de vote seconde remarque. Je vais y regarder un peu plus, pour troisième, je ne sais pas ! j'ai travail depuis des années sur Excel au travail néanmoins sur du Basic, aujourd'hui en retraite. Je voudrais réellement me développer un plus, car un peu novice dans du BVA,
Tout le long de ma carrière, j'ai souvent appris des formations et des critiques (quand elle reste respectueuse lol 😉), encore merci de votre réponse et je regarde votre code et je le détaille.
Philippe😇
 
re
et oui depuis 2007 les tableaux structurés ont fait leur apparition
tout ce qui est rows.count , .end(xlargument) et touicointi tu oublie
sauf dans des cas particulier
tu veux ajouter une ligne

VB:
with sheets("toto").range("montableau").listrows.add.range
'ici on est sur un range (la ligne complète que l'on a ajouté
'donc
 .cells(1)= blablabla
.cells(2)= machin
etc....

end with
reconnais que c'est plus simple non ?
 
re, Merci Patrick pour les informations, entre toi et François, je commence à apprendre, pour infos, je réalise un budget Excel avec mes exigences.
Bonne journée et bon weekend à vous deux,

Philippe 😇
re
et oui depuis 2007 les tableaux structurés ont fait leur apparition
tout ce qui est rows.count , .end(xlargument) et touicointi tu oublie
sauf dans des cas particulier
tu veux ajouter une ligne

VB:
with sheets("toto").range("montableau").listrows.add.range
'ici on est sur un range (la ligne complète que l'on a ajouté
'donc
 .cells(1)= blablabla
.cells(2)= machin
etc....

end with
reconnais que c'est plus simple non ?
oui, en effet, merci 😉
 
Encore moi 😇 avec une autre question
J'ai déjà créé des listes déroulantes avec des sous Catégories sans code BVA, mais là avec Userform ? J'ai vu pour zone de liste modifiable, mais pour récupérer les sous-catégories, je peux faire comment ?
Merci pour vos réponses,

Philippe😇
 

Pièces jointes

  • Capture d'écran 2024-03-09 143831.png
    Capture d'écran 2024-03-09 143831.png
    51.9 KB · Affichages: 11
Dernière édition:
Je vois surtout que tu n'as pas tenu compte des post précédent
(pas de calendrier, non utilisation des tableaux structurés)....
Ci joint ma solution

A+ François
Ps Patrick j'ai voulu utiliser ton idee...
with sheets("toto").range("montableau").listrows.add.range
mais erreur....???
 

Pièces jointes

Merci François,
c'est exactement ce que je voulais , bien sûr que j'ai tenu compte des postes précédent. Je t'ai donné un vieux fichier, car je recopie toutes les aides sur mon Fichier originel, je recopie tout pour comprendre et apprendre ce que l'on me transmet ! si tu le veux, je t'envoie mon fichier fini avec les modifs d'aujourd'hui.

Philippe 😇
 
- 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

Retour