Forums XLPages

Tous les messages (Namkaa)

Re: Enregistrer les données d'un formulaire dans une autre feuille
#1
Débutant XLPages

Inscription: 24/07/2015
De Eschentzwiller

Messages: 4

Système d'exploitation:
PC
Version Excel utilisée:
2013
Posté le : 24-07-2015 16h15

Bon, ben sujet résolu via un autre forum donc je poste la réponse de la personne pour information.

Voici le code à taper :

Private Sub CommandButton1_Click()
    
    Dim L As Integer
    If MsgBox("Enregistrer l'observation ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then
        'Bloc With/end with: tous les objets avec un . devant sont lies a l'objet defini par le With
        With Sheets("Donnees_tetras")
            'premiere cellule vide colonne B
            L = .Range("B65536").End(xlUp).Row + 1
            .Range("B" & L).Value = ComboBox1
            .Range("D" & L).Value = TextBox1
            .Range("E" & L).Value = ComboBox2
            .Range("F" & L).Value = ComboBox3
            .Range("H" & L).Value = TextBox2
            .Range("G" & L).Value = TextBox3
            .Range("L" & L).Value = ComboBox4
            .Range("N" & L).Value = ComboBox5
            .Range("O" & L).Value = ComboBox6
            .Range("P" & L).Value = ComboBox7
            .Range("Q" & L).Value = TextBox6
            .Range("R" & L).Value = ComboBox8
            .Range("S" & L).Value = TextBox7
            .Range("T" & L).Value = TextBox8
            .Range("W" & L).Value = TextBox9
            .Range("X" & L).Value = TextBox10
        End With
    End If
    Unload Me
    UserForm1.Show
End Sub
Hors Ligne
Rapport   Haut 

Re: Enregistrer les données d'un formulaire dans une autre feuille
#2
Débutant XLPages

Inscription: 24/07/2015
De Eschentzwiller

Messages: 4

Système d'exploitation:
PC
Version Excel utilisée:
2013
Posté le : 24-07-2015 16h03

Ok j'ai trouvé une feinte en tapant le code :

Private Sub CommandFormulaire1_Click()
Sheets("Donnees_tetras").Activate
UserForm1.Show

End Sub

lorsque je clique sur le bouton de commande de mon onglet "formulaire".

Ce qui me permet de basculer sur l'onglet "donnees" en même temps que le formulaire s'ouvre.

 

Mais si quelqu'un a une autre solution pour que le formulaire reste affiché dans l'onglet "formulaire" mais que les données soient saisies dans l'onglet "donnees" je suis toujours partante ! smiley

Hors Ligne
Rapport   Haut 

Enregistrer les données d'un formulaire dans une autre feuille
#3
Débutant XLPages

Inscription: 24/07/2015
De Eschentzwiller

Messages: 4

Système d'exploitation:
PC
Version Excel utilisée:
2013
Posté le : 24-07-2015 15h45

Bonjour,

 

Mon problème est un peu complexe, donc j'espère que je serais claire. J'ai un formulaire de saisie de données que j'ai crée sous excel. J'ai fait en sorte qu'il s'affiche automatiquement à l'ouverture de mon classeur ou qu'il s'affiche si on clique sur un bouton de commande dans une feuille excel appelée "formulaire de saisie". 

Dans mon formulaire j'ai un bouton de commande qui permet d'enregistrer les données saisies en remplissant une nouvelle ligne de mon tableau à chaque clic sur le bouton. Le formulaire se vide ensuite et au clic suivant, c'est la ligne d'en dessous qui est remplie et ainsi de suite.

 

Mon problème est que j'aimerais que mes données soient remplies dans une autre feuille que celle où le formulaire s'affiche, appelée "donnees". Or je me suis aperçue qu'avec mon code il faut que le formulaire soit affiché dans la feuille où sera saisie la ligne de données, ce qui me pose un problème uniquement d'esthétisme mais que j'aimerais résoudre si possible.

 

Je joint mon tableau excel pour information. Sinon voici le code VBA en question :

 

Private Sub CommandButton1_Click()

' [...] j'ai ici entre les deux des codes pour des messages à afficher mais qui n'ont rien avoir avec le problème 

Dim L As Integer
    If MsgBox("Enregistrer l'observation ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
        L = Sheets("Donnees_tetras").Range("B65536").End(xlUp).Row + 1
        Range("B" & L).Value = ComboBox1
        Range("D" & L).Value = TextBox1
        Range("E" & L).Value = ComboBox2
        Range("F" & L).Value = ComboBox3
        Range("H" & L).Value = TextBox2
        Range("G" & L).Value = TextBox3
        Range("L" & L).Value = ComboBox4
        Range("N" & L).Value = ComboBox5
        Range("O" & L).Value = ComboBox6
        Range("P" & L).Value = ComboBox7
        Range("Q" & L).Value = TextBox6
        Range("R" & L).Value = ComboBox8
        Range("S" & L).Value = TextBox7
        Range("T" & L).Value = TextBox8
        Range("W" & L).Value = TextBox9
        Range("X" & L).Value = TextBox10
    
    End If
    Unload Me
    UserForm1.Show
 
End Sub

Je pensais que la formule  L = Sheets("Donnees_tetras").Range("B65536").End(xlUp).Row + 1 permettait justement de spécifier que je veux que mes données soient saisies dans la feuille "Donnees_tetras", mais ça n'a pas l'air le cas.

 

Est-ce que quelqu'un aurait une solution?

 

Merci

Pièce jointe:
zip BDD vierge avec formulaire.zip   [ Taille: 0.02 Ko - Téléchargements: 790 ]
Hors Ligne
Rapport   Haut 

Ouverture calendrier Mdf XLCalendar parr un seul clic
#4
Débutant XLPages

Inscription: 24/07/2015
De Eschentzwiller

Messages: 4

Système d'exploitation:
PC
Version Excel utilisée:
2013
Posté le : 24-07-2015 10h38

Bonjour,

 

J'ai crée un formulaire où j'ai un champ date auquel je voudrais associer l'outil "Mdf XLCalendar".

J'ai pu voir des tutoriels sur internet qui m'ont permis d'écrire ce code :

 

Private Sub TextBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Cancel = True
    mDFXLcalShow CalCtrl:=TextBox2, CalFormat:="dd/mm/yyyy", CalLang:="FR"
End Sub

 Seulement ce code permet d'ouvrir le calendrier uniquement sur double clic (DblClick...). Je voudrais savoir quel est le code pour ouvrir le calendrier sur simple clic dans la case. J'ai essayé d'enlever Dbl et de mettre "TextBox2_Click" mais rien ne se passe du coup, le calendrier ne s'ouvre plus.

 

Est-ce que quelqu'un aurait une proposition à me faire?

 

Merci !

Hors Ligne
Rapport   Haut