Creer un formulaire pour Base de donnee
Bonjours a tous,
je suis nouveau sur ce forum, vous lis depuis quel que temps car j'essaye de créer un formulaire qui me remplis une base de donnée,
jusque la avec mes compétence débutante et pas très alaise sur excel j'ai pu faire ce que je voulais en recherchant des exemple dans le forum.
je m'explique: j'ai un formulaire que je complète, et quand je clique sur le bouton, il me remplis la base de donnée sur une autre feuille a la ligne suivante.
jusque la j'ai réussi, par contre maintenant je voudrais créer un autre bouton qui quand je clique dessus, il me mets a jours ma base de donnée, c'est a dire qu'il recherche la référencé correspondante dans la base de donnée et corrige celle ci sans rajouter de ligne supplémentaire mais en changent les donne de celle ci.
Voici ce que je fais pour l'instant pour créer une nouvelle saisie, que dois je modifier pour modifier une saisie existante?
Private Sub CommandButton2_Click()
Dim ligne As Integer
ligne = Sheets("info.").Range("A65536").End(xlUp).Row + 1 JE SUPPOSE QUE C"EST CETTE LIGNE, MAIS QUELLE FORMULE???
If Sheets("formulaire").Range("G8") = "" Then
MsgBox "Reference obligatoire"
Exit Sub
End If
Sheets("info.").Range("A" & ligne) = Sheets("formulaire").Range("G8")
Sheets("info.").Range("B" & ligne) = Sheets("formulaire").Range("G10")
Sheets("info.").Range("C" & ligne) = Sheets("formulaire").Range("S10")
etc....
Merci beaucoup de votre aide cela fait un bon moment que je cherche en vain
Ambroise
Bonjour,
Non cette ligne se place sur la 1ère ligne vide à la fin de ton tableau, pour les ajouts à la suite.
Tous tes tableaux sont construits de la même façon avec la référence en G8 qu ise trouvent toujours en colonne A des tableaux de recherches ? Tes références sont-elles toutes uniques ?
Si oui, il faut rechercher la référence pour en déterminer la ligne, puis modifier les données :
essais un truc de ce genre :
Sub MAJ()
Dim ligne As Integer, ligneRes As Integer
ligne = Sheets("info").Range("A65536").End(xlUp).Row 'Pour déterminer la fin du tableau de recherche si celui-ci n'est pas fixe
ligneRes = Application.WorksheetFunction.Match(Sheets("formulaire").Range("G8"),Sheets("info").Range("A1:A" & ligne), False)
' on cherche l'équivalent de la référence en G8 dans la colonne A du tableau de la feuille info, la fonction MATCH correspond à
' EQUIV dans une feuille excel, et retourne le numéro de la ligne ou se situe le résultat recherché
Sheets("info").Range("A" & ligneRes) = Sheets("formulaire").Range("G8")
Sheets("info").Range("B" & ligneRes) = Sheets("formulaire").Range("G10")
Sheets("info").Range("C" & ligneRes) = Sheets("formulaire").Range("S10")
'Ensuite on modifie les données
End SubCordialement,
Merci Zirak,
J'ai réussi a résoudre le problème par:
Private Sub CommandButton2_Click()
Dim ligne As Integer
If Trim(Sheets("formulaire").Range("G8")) = "" Then
MsgBox "Reference obligatoire"
Else
ligne = -1
On Error Resume Next
ligne = Sheets("info.").Range("A:A").Find( _
Sheets("formulaire").Range("G8"), _
LookIn:=xlValues, LookAt:=xlWhole).Row
On Error GoTo 0
If ligne > 0 Then
MsgBox "ici modif de la base"
Else
MsgBox "Reference introuvable"
End If
End If
End Sub
Que l'on ma donner bien sur, j'ai essayer la votre, mais ne fonctionne pas, surement une mauvaise interprétation de ma part,
Mais vous remercie beaucoup de votre aide
Oui je viens de voir que ton onglet s'appelait info. avec un point alors que j'avais mis info sans point, surement pour cela que ça ne fonctionne pas.
C'est ça merci de m'avoir donner de votre temps ça fonctionne a merveille