Problème formulaire avec différentes feuilles
Bonjour à tous,
Voici mon petit problème :
J'ai créé un formulaire pour pouvoir ajouter une personne dans une base de données.
Quand j'ouvre mon formulaire par la page d'accueil (à l'aide d'un bouton affecté à une macro) et que je crée la personne, rien ne s'ajoute dans mon tableau.
Si je reste toujours sur ma page d'accueil, que je passe par le VBA et que j'appuie sur F5, ça ne marche toujours pas.
Par contre, si je me place sur ma feuille (renommée TABLEAUINFO) où sont présentes mes données et que je passe par le VBA et F5, là tout fonctionne !!!
D'où peut venir mon problème ?
Comment faire lorsque mon nouveau licencié est crée, il soit directement trié dans l'ordre alphabétique dans mon tableau?
Voici mon code VBA pour mon bouton Nouveau Licencié :
'Pour le bouton Nouveau licencié
Private Sub CommandButton1_Click()
Dim X As Integer
If MsgBox("Confirmez-vous l’insertion de ce nouveau licencié ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
X = Sheets("TABLEAUINFO").Range("a65536").End(xlUp).Row + 1
Range("A" & X).Value = ComboBox1
Range("B" & X).Value = TextBox1
Range("C" & X).Value = TextBox2
Range("D" & X).Value = TextBox3
Range("E" & X).Value = TextBox4
Range("F" & X).Value = TextBox5
Range("G" & X).Value = TextBox6
Range("H" & X).Value = TextBox7
Range("I" & X).Value = TextBox8
Range("J" & X).Value = TextBox9
Range("K" & X).Value = TextBox10
Range("L" & X).Value = TextBox11
Range("M" & X).Value = TextBox12
Range("N" & X).Value = TextBox13
Range("O" & X).Value = TextBox14
Range("P" & X).Value = TextBox15
Range("Q" & X).Value = TextBox16
Range("R" & X).Value = TextBox17
Range("S" & X).Value = TextBox18
Range("T" & X).Value = TextBox19
Range("U" & X).Value = TextBox20
Range("V" & X).Value = TextBox21
Range("W" & X).Value = TextBox22
End If
End Sub
Merci pour votre aide
Bonjour, essayez avec se code là qui ne doit pas être loin du resultat attendu. Le filtre se fait sur la colonne A
Private Sub CommandButton1_Click()
Dim X&, i As Byte
X = Sheets("TABLEAUINFO").Range("a65536").End(xlUp).Row + 1
If MsgBox("Confirmez-vous l’insertion de ce nouveau licencié ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
With Sheets("TABLEAUINFO")
For i = 2 To 23
.Range("A" & X).Value = ComboBox1
.Cells(X, i).Value = Controls("TextBox" & i - 1)
Next
.Range("A1").CurrentRegion.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes
End With
End If
Unload Me
End Sub
On avance, on avance ...
Quand je passe par le VBA (pour le formulaire) en étant sur ma page de données, pas de soucis tout marche (l'enregistrement et le tri).
Par contre, si je me mets sur une autre feuille et que je fais la même chose, le message d'erreur suivant s'affiche :
" Erreur d'exécution' 1004' :
Référence de tri non valide. Vérifiez qu'elle se trouve bien parmi les données à trier et que la zone Trier par n'est pas identique ou vide"
Du coup il me propose un Débogage et quand je le fais, la ligne suivante est en surbrillance jaune : .Range("A1").CurrentRegion.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes
En tout cas merci Force rouge pour le temps que tu me consacres
ca vient peut-être (je dis peut-être because j'suis pas expert) du fait que la feuille n'est pas active (avec vba faut s'attendre à tout) essayez celui-ci
Private Sub CommandButton1_Click()
Dim X&, i As Byte
X = Sheets("TABLEAUINFO").Range("a65536").End(xlUp).Row + 1
If MsgBox("Confirmez-vous l’insertion de ce nouveau licencié ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
Sheets("TABLEAUINFO").Activate
With Sheets("TABLEAUINFO")
For i = 2 To 23
.Range("A" & X).Value = ComboBox1
.Cells(X, i).Value = Controls("TextBox" & i - 1)
Next
.Range("A1").CurrentRegion.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes
End With
End If
Unload Me
End Sub
Tout fonctionne !!!!
Mille merci
De rien