Modifier base de donnée via VBA userform

Bonjour tout le monde

Sa fait un petit moment que beaucoup d'entre vous m'avait aidé à faire mon programme complet pour mon activité

Seulement, la maintenant je vient de modifier quelques petites choses et je suis bloquer ! :/

J'ai donc un programme complet en UserForm qui enregistre mes devis dans une feuille base de donnée "Devis" et qui enregistre mes Facture dans une feuille base de donnée "Facturier" Jusque la tout fonctionne forcément

Mais j'aimerais un code pour pouvoir MODIFIER un devis existant...

pour le moment, il cherche la 1er ligne vide et enregistre le devis à cette ligne...

Ici je repart avec un nouveau bouton dans l'usf "Modifier devis" donc une fois que je clic, il vérifie si la textbox n° de devis est vide et alors il sort, sinon il continue et par rapport au n° du devis inscrit il recopie donc toutes les TextBox dans la base de donné et forcément à la ligne correspondant au n° du devis =)

Merci à vous les amis

Voilà ou j'en suis :

Private Sub CommandButton25_Click()
If TextBox100 = "" Then
Exit Sub
Else
'Mise en place des valeurs saisies

   Dim I As Long, Lig As Long
  ' Numéro de ligne = Entête tableau 1 + Choix dans la liste + 1 car commence à 0
    I = Val(TextBox100)
    Lig = 2 + I + 1
  ' Avec la feuille BD Poste

    Select Case UCase(Me.ComboBox13.Value) 'agit en fonction de la valeur de la ComboBox13 (convertie en majuscules)

       Dim O As Worksheet
        Case "DEVIS" 'cas "DEVIS"
            Set O = Worksheets("Devis") 'définit l'onglet O

    End Select 'fin de l'action en fonction de la valeur de la Combobox13

    For Each CTRL In Me.Controls 'boucle sur tous les contrôles de l'userForm
        'si la propriété [Tag] du contrôle n'est pas vide, renvoie la valeur du contrôle dans la cellule
        'ligne = PLV / colonne = valeur de la propriété [Tag] du contrôle
        If CTRL.Tag <> "" Then O.Cells(Lig, CTRL.Tag).Value = CTRL.Value
    Next CTRL 'prochaine contrôle de la boucle
End If 'fin de la condition

Worksheets("Facturier").Range("BV:BX").ClearContents 'supprime les données qu'il copie en trop dans Facturier
Worksheets("Devis").Range("BZ:BZ").ClearContents 'supprime les données qu'il copie en trop dans Devis

MsgBox "Les données sont enregistrées"

'Methode simple pour revenir à l'userform "Vide"
Unload Me 'Quitte l'userform
UserForm2.Show 'Revient dans l'userform

End Sub

Personne ?

Bonjour

Tu aurais plus de succès si tu joignais ton fichier...

Bye !

et voici

82prog.xlsm (526.58 Ko)
Rechercher des sujets similaires à "modifier base donnee via vba userform"