Remplir 4 tableaux avec 4 userform

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

Elodie195

XLDnaute Occasionnel
Bonjour,

J'aimerais de l'aide pour mon fichier excel.

J'ai 4 tableaux avec au dessus de chacun un bouton "SAISIE"

Ce bouton permet de saisir dans le tableau du dessous.

Pour l'instant, lorsque je clique dessus, je saisis mes données dans le userform; cela s'affiche bien sur la premiere ligne du tableau correspondant.

Mais lorsque je veux saisir une deuxième date, au lieu de s'afficher à la suite, cela écrase la première déjà saisie.
Dans le code j'ai :
Code:
Lg = Sh.Range("B5").End(xlUp).Row + 1

donc cela veut dire qu'a chaque fois que je lance la macro cela reprend B5 et donc écrase la saisie précédente 🙁

Comment résoudre ce problème ?

Merci d'avance de votre aide.
 

Pièces jointes

Dernière édition:
Re : Remplir 4 tableaux avec 4 userform

Bonjour

une solution possible pour l'USF1, à adapter pour les autres.
Code:
Private Sub CommandButton1_Click()
Dim Lg&, Sh As Worksheet
Set Sh = Worksheets("Feuil1")
Lg = Range("B4").CurrentRegion.End(xlDown).Row + 1
If Lg >= 12 Then
    MsgBox "Tableau plein!"
    Exit Sub
End If
Sh.Range("B" & Lg) = CDate(Me.TextBox1.Value)
Sh.Range("C" & Lg) = CDate(Me.TextBox2.Value)
Sh.Range("D" & Lg) = Me.ComboBox1
Sh.Range("E" & Lg) = Me.ComboBox2
raz
End Sub

A+
 
Re : Remplir 4 tableaux avec 4 userform

re,

je ne vois pas pourquoi ?
Sh.Range("B" & Lg) = CDate(Me.TextBox1.Value)
Sh.Range("C" & Lg) = CDate(Me.TextBox2.Value)


on écrit pourtant bien les 2 textbox dans 2 cellules différentes!

Conservez votre code pour l'écriture dans les cellules

A+
 
Re : Remplir 4 tableaux avec 4 userform

re,

Il n'y a pas de soucis pour les 2 dates saisies. Elles s'affichent bien dans 2 cellules différentes.

Je clique sur le bouton, je saisis mes dates, cela s'affiche bien sur la ligne 5.

Le problème est que lors que je veux saisir une nouvelle fois dans le userform, cad, pour la ligne 6, cela écrase la ligne 5.
 
Re : Remplir 4 tableaux avec 4 userform

les quatre UserForm sont identiqueshormis le N° de ligne d'écriture.

Je vous propose donc d'affecter à chaque bouton de la feuille la macro suivante:
Code:
Sub test()
choix = Application.Caller
UserForm1.Show
End Sub

choix étant déclaré dans un module en Public choix As String
Application.Caller renvoyant le nom du bouton d'appel

il n'y aurait plus qu'une seule UserForm commune avec dans Private Sub CommandButton1_Click()

Code:
Private Sub CommandButton1_Click()
Dim Lg&, Sh As Worksheet
Set Sh = Worksheets("Feuil1")

Select Case choix ' variable public contenant le nom du bouton d'appel
    Case "Bouton 2"
        Fin = 12
    Case "Bouton 3"
        Fin = 25
    Case "Bouton 4"
        Fin = 38
    Case "Bouton 5"
        Fin = 51
End Select

Lg = Range("B" & Fin).End(xlUp).Row + 1
MsgBox Lg
If Lg > Fin Then
    MsgBox "Tableau plein!"
    Exit Sub
End If
Sh.Range("B" & Lg) = CDate(Me.TextBox1.Value)
Sh.Range("C" & Lg) = CDate(Me.TextBox2.Value)
Sh.Range("D" & Lg) = Me.ComboBox1
Sh.Range("E" & Lg) = Me.ComboBox2
raz
End Sub

Il y aurait peut-être lieu de définir un Label de titre pour savoir à quelle saisie on procède, et dans le Select Case, rajouter pour chaque Case : Label1.Caption = "Saisie 1" ou "Saisie 2" ou ...

Nb j'ai modifié le code d'écriture des lignes, ça fonctionne chez moi. Dites moi .

A+
 
Re : Remplir 4 tableaux avec 4 userform

Re,

si vous ne voulez pas tout regrouper dans une seule UserForm, dans le code du post #2
remplacer :Lg = Range("B4").CurrentRegion.End(xlDown).Row + 1
par ; Lg = Range("B12" ).End(xlUp).Row + 1

Bonne suite
 
Re : Remplir 4 tableaux avec 4 userform

bonjour tous 🙂🙂🙂🙂
pour l'ami Si🙂🙂 je pense qui faut saluer l'ami Paf 🙂🙂qui a bien cerne la demande non seulement chercher une soluc..pour resourdre le pb..& surtout simplifier tous cela... eh!! oui
4 users qui font la meme chose pourquoi pas un 🙂🙂🙂 j'ai pas regarde dans le detail les codes mais je vais vous mettre un LIKE a tous les 2
a++🙂🙂
 
Re : Remplir 4 tableaux avec 4 userform

Bonsoir Si.. , Elodie,...
C'est toujours mieux bien sûr avec un seul dialogue, (vouaaaaah, le dialogue ! 🙄 )
mais...
... dans l'initialisation, il faudrait désactiver le bouton Valider car il envoie une erreur si aucune valeur n'a été saisie. ( sur R = CDate(TextBox1))
... le Style des comboxbox 1 et 2 devrait être mis sur fmStyleDropDownList sinon on peut saisir n'importe quoi
directement dans les Combo sinon ComboBox1.Style = fmStyleDropDownList et ComboBox2.Style = fmStyleDropDownList
... il faudrait tester la date maxi pour qu'elle soit supérieure (ou égale ?) à la date mini

Cordialement
Robert
 
- 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

  • Question Question
Microsoft 365 Code listbox
Réponses
4
Affichages
570
Réponses
26
Affichages
1 K
Retour